[web] Appeler un script PHP depuis un script PERL avec paramètre
Bonjour ... bonsoir, bonne nuit ... je ne sais plus ... :wink: ,
:idea: Je dois appeler un script en PHP depuis un script PERL en passant un paramètre.
:idea: Quelqu'un a-t-il une idée ou peut-être qu'il y a une documentation quelque part ?
:arrow: Contexte :
Un logiciel de paiement en ligne appelle un script PERL pour me retourner le résultat du paiement ... et je dois continuer le traitement en PHP en fonction du code reçu. Le tout se passe sur un serveur Apache sous Linux.
Merci d'avance et à bientôt.
Re: Appeler un script PHP depuis un script PERL avec paramèt
Hello, ( ça passe à toute heure ;) )
Citation:
Envoyé par tazmann
Bonjour ... bonsoir, bonne nuit ... je ne sais plus ... :wink: ,
:idea: Je dois appeler un script en PHP depuis un script PERL en passant un paramètre.
:idea: Quelqu'un a-t-il une idée ou peut-être qu'il y a une documentation quelque part ?
:arrow: Contexte :
Un logiciel de paiement en ligne appelle un script PERL pour me retourner le résultat du paiement ... et je dois continuer le traitement en PHP en fonction du code reçu. Le tout se passe sur un serveur Apache sous Linux.
Comme d'habitude, en Perl, tu as plusieurs possibilités ...
Il s'agit, ni plus ni moins, d'un appel à un processus externe à ton script Perl.
Tu as, dans ce cas, 3 grandes familles de lancement :
- La fonction "system" :
Code:
system "ma_commande mes_paramettres";
- Les backquotes :
Code:
$mon_resultat = `ma_commande mes_parametres`;
- Le traitement "file-like" :
Code:
open SORTIE, "ma_commande mes_parametres|"; $mon_resultat = <SORTIE>; close SORTIE;
Bien sûr, à toi de voir si tu veux réellement récupérer la sortie du processus appelé ... C'est peut être préférable, pour toi, si tu souhaite poursuivre son affichage et terminer ta page en CGI/Perl.
Par contre, dans le cas ou tu n'as rien de plus à faire en Perl après l'appel à PHP et si c'est ce dernier qui se charge de la suite de l'affichage, tu as aussi la solution de substituer le processus PHP au Perl en cours :
Code:
1 2
| exec "ma_commande mes_parametres";
die "Je n'ai pas réussi à lancer le script PHP" |
Ainsi, le contrôle passe directement de Perl à la commande passée (invocation du script PHP), pour ne revenir à Perl qu'en cas d'impossibilité de lancer la commande (d'où le message d'erreur invoqué avec die).
Bonne continuation.