IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web Perl Discussion :

[web] Appeler un script PHP depuis un script PERL avec paramètre


Sujet :

Web Perl

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Par d�faut [web] Appeler un script PHP depuis un script PERL avec paramètre
    Bonjour ... bonsoir, bonne nuit ... je ne sais plus ... ,

    Je dois appeler un script en PHP depuis un script PERL en passant un param�tre.

    Quelqu'un a-t-il une id�e ou peut-�tre qu'il y a une documentation quelque part ?

    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.

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par d�faut 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 ... ,

    Je dois appeler un script en PHP depuis un script PERL en passant un param�tre.

    Quelqu'un a-t-il une id�e ou peut-�tre qu'il y a une documentation quelque part ?

    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 : S�lectionner tout - Visualiser dans une fen�tre � part
    system "ma_commande mes_paramettres";
    - Les backquotes :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $mon_resultat = `ma_commande mes_parametres`;
    - Le traitement "file-like" :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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 : S�lectionner tout - Visualiser dans une fen�tre � part
    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.

  3. #3
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Par d�faut
    Merci,

    C'est bien la derni�re solution qui m'int�resse car lors d'un paiement une r�ponse "muete (sans affichage)" est envoy�e via le processus PERL.

    Ceci de mani�re � �viter que la suite du traitement ne d�pende pas de l'utilisateur d�s lors que le paiement est valide.

    En effet celui-ci peut perdre sa connexion ou alors d�cider de ne pas continuer le processus quand bien m�me il a pay�.

    Pour rester dans le concret, si mon sript s'appelle : after_payement.php (qui va mettre un flag "payement OK" dans une BD) il faut donc faire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    exec "after_payment.php?CODE=$CODE"; 
    die "Script PHP after_payment.php pas lancé";

  4. #4
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par d�faut
    Si la solution te convient, n'oublie pas alors de placer le tag [r�solu] sur ton sujet en utilisant le bouton, en bas � gauche de l'interface quand tu visualises le fil de discussion en �tant connect�.

    Merci et bon courage.

  5. #5
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Par d�faut
    oups ... j'ai appuy� sur "envoyer" un peu trop t�t

    Cependant j'ai un doute, comment le serveur va-t-il savoir que c'est un script php.
    Je pense qu'il faudrait lancer la ligne de commande PHP, le probl�me c'est que je n'ai jamais pratiqu� l'exercice, il doit aussi y avoir quelque chose sur la mani�re de transmettres les param�tres, alors je pensais � quelque chose comme cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    exec "php -f after_payment.php CODE=$CODE"; 
    die "Script PHP after_payment.php pas lancé";
    Est-ce que cela est correct ?

    Merci d'avance

  6. #6
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par d�faut
    Citation Envoy� par tazmann
    oups ... j'ai appuy� sur "envoyer" un peu trop t�t
    Ce n'est pas un probl�me

    Citation Envoy� par tazmann
    Cependant j'ai un doute, comment le serveur va-t-il savoir que c'est un script php.
    Je pense qu'il faudrait lancer la ligne de commande PHP, le probl�me c'est que je n'ai jamais pratiqu� l'exercice, il doit aussi y avoir quelque chose sur la mani�re de transmettres les param�tres, alors je pensais � quelque chose comme cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    exec "php -f after_payment.php CODE=$CODE"; 
    die "Script PHP after_payment.php pas lancé";
    Est-ce que cela est correct ?

    Merci d'avance
    Le serveur ne sait pas forc�ment grand chose, h�las ... et aussi, il faut que tu disposes de droits d'ex�cution de commandes, dessus.

    Cet obstacle lev�, si j'en crois :
    Citation Envoy� par php -h
    Usage: php [options] [-f] <file> [args...]
    php [options] -r <code> [args...]
    php [options] [-- args...]
    -s Display colour syntax highlighted source.
    -w Display source with stripped comments and whitespace.
    -f <file> Parse <file>.
    -v Version number
    -c <path>|<file> Look for php.ini file in this directory
    -a Run interactively
    -d foo[=bar] Define INI entry foo with value 'bar'
    -e Generate extended information for debugger/profiler
    -z <file> Load Zend extension <file>.
    -l Syntax check only (lint)
    -m Show compiled in modules
    -i PHP information
    -r <code> Run PHP <code> without using script tags <?..?>
    -h This help

    args... Arguments passed to script. Use -- args when first argument
    starts with - or script is read from stdin
    et ton code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    exec "php -f after_payment.php CODE=$CODE"; 
    die "Script PHP after_payment.php pas lancé";
    Pour le "-f after_payment.php", c'est sans probl�me.

    Apr�s, pour le traitement du "CODE=valeur", il faut voir comment PHP s'en tire avec les param�tres de script, mais ce n'est plus du Perl .

    En tout �tat de cause, avec une telle m�canique, il n'est plus possible de b�n�ficier du passage de param�tres au PHP avec les m�thodes GET ou POST. Il faut tout traiter en options du script PHP ...

    Bonne continuation.

  7. #7
    Membre r�gulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Par d�faut
    Merci pour cette aide efficace et circonstanci�e.

    Bonne continuation.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 26/02/2010, 06h34
  2. Appel et retour de script PHP depuis Delphi
    Par Pascal Fonteneau dans le forum Web & r�seau
    R�ponses: 5
    Dernier message: 25/08/2009, 09h57
  3. Appel du script PHP depuis une page HTML
    Par PHILIPPE59 dans le forum Langage
    R�ponses: 13
    Dernier message: 25/11/2008, 15h46
  4. Appel d'un script PHP depuis PERL
    Par tazmann dans le forum Web
    R�ponses: 7
    Dernier message: 09/11/2007, 02h12
  5. Appeler une fonction d'un script PHP depuis HTML
    Par barthelv dans le forum Langage
    R�ponses: 31
    Dernier message: 27/12/2005, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo