Je voudrais faire une passerelle C vers PHP. Pour réaliser un module
pour freeRadius.
savez-vous comment faire ? Ou trouver une doc ?
Ce que je voudrais faire précisément, c'est, depuis mon code C,
charger un fichier contenant une classe X, et pouvoir appelé une
fonction de cette classe.
Merci
> Je voudrais faire une passerelle C vers PHP. Pour réaliser un module
> pour freeRadius.
> savez-vous comment faire ? Ou trouver une doc ?
Il faut regarder dans le source de PHP. Regardes comment le module
DOMDocument est fait, ça te donneras une bonne idée de ce que tu peux faire.
> Ce que je voudrais faire précisément, c'est, depuis mon code C,
> charger un fichier contenant une classe X, et pouvoir appelé une
> fonction de cette classe.
Tu veux aussi accéder à des fonctionnalités de PHP dans ton module C,
c'est ça ?
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
On peut dire ca.
En fait, j'ai une application PHP/Mysql.
J'ajoute à ce projet un FreeRadius/802.1x.
Le but est de pouvoir utiliser des routines PHP (que j'ai codé moi et
utilise déjà dans mon application PHP) pour identifier et autorisés
des utilisateurs s'identifiant en 802.1x à travers un freeRadius.
Donc, tant qu'a faire, j'aurais voulu codé un module pour freeradius
'générique'.
J'aimerais donc en C :
- Chargé un fichier .php (une sorte de include PHP)
- appelé une fonction d'une classe (qui a été chargé par le fichier au
point précédant).
- et récupérer biensur la valeur de retour de la fonction
> En fait, j'ai une application PHP/Mysql.
> J'ajoute à ce projet un FreeRadius/802.1x.
> Le but est de pouvoir utiliser des routines PHP (que j'ai codé moi et
> utilise déjà dans mon application PHP) pour identifier et autorisés
> des utilisateurs s'identifiant en 802.1x à travers un freeRadius.
>
> Donc, tant qu'a faire, j'aurais voulu codé un module pour freeradius
> 'générique'.
> J'aimerais donc en C :
> - Chargé un fichier .php (une sorte de include PHP)
> - appelé une fonction d'une classe (qui a été chargé par le fichier au
> point précédant).
> - et récupérer biensur la valeur de retour de la fonction
Et executer un script php depuis le code C en lançant php.exe ou en
utilisant un serveur http local, tu n'as pas la possibilité ?
Si, c'est possible.
Mais justement, le but était de ne pas faire un appel système à une
fonction de type execv..
Avec un serveur local, il n'y a pas besoin de faire un appel à execv,
juste ouvrir une URL servie par un script php...
> Avec un serveur local, il n'y a pas besoin de faire un appel à execv,
> juste ouvrir une URL servie par un script php...
C'est tout de suite plus léger, effectivement. </ironie>
euh oui... je fais du C unix.
Pour ouvrir une url, il faut faire des sockets.
Mais si c'est pour faire ca, autant faire un execv (comme le souligne
l'ironie de Mickel)
Bonjour !
J'ai du me documenter (en vitesse) récemment pour un client qui a un
projet de ce genre dans l'air, mais dans le sens inverse : Une GUI PHP
pour exécuter certaines opérations sur une application C tournant sur un
mainframe.
J'étais tombé là dessus : <http://gsoap2.sourceforge.net/>
Le site a l'air assez vieux, mais la documentation est (je viens d'y
retourner) mise à jour assez régulièrement.
En espérant que ca aide ! :-)
--
Bruno Baguette
Tout à fait d'accord avec ça, mais c'est toi qui disais:
> Mais justement, le but était de ne pas faire un appel système à une
> fonction de type execv..
Si le "but" change, les réponses doivent changer également ;-)
Pour conclure, si tu peux faire des execv, c'est très certainement la
solution la plus simple!
> euh oui... je fais du C unix.
> Pour ouvrir une url, il faut faire des sockets.
> Mais si c'est pour faire ca, autant faire un execv (comme le souligne
> l'ironie de Mickel)
avec libcurl on peut éviter cette complexité.
> avec libcurl on peut éviter cette complexité.
Le problème n'est pas la « compléxité » des sockets, mais bien leur
usage pour faire des appels réseaux alors que le but du jeu est de faire
des appels de fonction.
Mais au final, le mieux à faire est certainement de créer un module de
FreeRadius pour PHP. D'ailleurs, c'est à mon avis le but initial du
thread. Mais vu que n0Rky a débarqué en croyant que tout le monde sait
ce qu'est FreeRadius, on ne peut pas se comprendre.
Avec tout ça, je n'ai toujours pas compris à quoi servait FreeRadius,
malgré la RFC glanée au gré de mes recherches :-D
<http://abcdrfc.free.fr/rfc-vf/rfc2865.html> Bon, je ne suis pas si
bête, j'ai compris que c'était pour faire d el'authentification
centralisée, mais bon, quand même.