C vers PHP

Le
nORKy
Bonjour,

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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mickael Wolff
Le #8283811
nORKy a écrit :

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
nORKy
Le #9688201
On 26 juin, 17:27, Mickael Wolff
nORKy a écrit :

> 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 Michaelishttp://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
Antoine Polatouche
Le #9728531
nORKy a écrit :

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é ?
nORKy
Le #10861931
On 27 juin, 18:18, Antoine Polatouche
nORKy a écrit :

> 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..
Antoine Polatouche
Le #11160411
nORKy a écrit :
On 27 juin, 18:18, Antoine Polatouche
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...
Mickael Wolff
Le #11161441
Antoine Polatouche a écrit :

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>

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
nORKy
Le #11162671
On 1 juil, 10:08, Antoine Polatouche
nORKy a écrit :

> On 27 juin, 18:18, Antoine Polatouche >> 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...



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)
Bruno Baguette
Le #11166661
nORKy a écrit :
Bonjour,

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



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 :
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
Antoine Polatouche
Le #11171701
nORKy a écrit :
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)



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!
BertrandB
Le #12864641
nORKy a écrit :

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é.
Publicité
Poster une réponse
Anonyme