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

Langage PHP Discussion :

Syntaxe à écrire pour exécuter un script perl en PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Points : 13
    Points
    13
    Par défaut Syntaxe à écrire pour exécuter un script perl en PHP
    Bonjour,

    J'ai fais un site/application qui travaille sur des bases de données.

    Ce site à la possibilité (enfin si j'y arrive ) de resynchroniser mes bases en cas de modification de celles-ci dans la journée.

    Cependant le script qui me permet la synchronisation des bases est un script PERL.

    Or moi je travail en PHP.

    j'ai essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     if (isset($_REQUEST["Id"]))
    {//Je recupere le fait que je lance mon script
    	$Execution = system('./Include/SynchronisationBases.inc.pl');
    	if ($Execution == "Success")
    	{
    		$Infos["Resultat"][0]= true;
    		$Infos["Resultat"][1]= "Le chargement, des bases, est un succès";
    	}Else
    	{
    		$Infos["Resultat"][0]= false;
    		$Infos["Resultat"][1]= "$Execution";
    	}
    }
    Donc je ne récupère aucune données.
    J'ai pu lire sur phpManual que system() renvoyait la dernière ligne de la console alors j'ais fait un PRINT "Success" dans la dernière fonction de mon script perl pour que mon second IF soit opérationnel.

    Alors cela doit être simple, je souhaiterais la syntaxe de la fonction me permettant d’exécuter ce fichier PERL

    Chillll vouusss pllaiiiiis

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    heu... et lire le manuel c'est en option ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
     
    $last_line = exec('perl script.pl', $output, $status);
    echo $output;

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup.

    Je ne comprenais pas bien la fonction sachant que sur le manuel en ligne j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string system ( string $command [, int &$return_var ] )
    ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $last_line = system('ls', $retval);
    c'etait un peut flou pour moi, mais grâce à tes lumières il me reste plus qu'a y faire fonctionner.3

    Merci encore et bonne fin de journée.

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    La bonne question maintenant c'est s'interroger sur le justification de ce script.

    Je n'ai jamais été un grand fan de la délégation. Dans ce cas précis, déléguer une synchro de bases à Perl n'est pas forcément une bonne chose et ce pour deux raisons:
    - la plupart des RDBMS (dont MySQL) disposent nativement de cette fonctionnalité
    - c'est tout à fait faisable en PHP

    L'inconvénient de disposer d'un script Perl et de devoir l’appeler c'est qu'on perd le contrôle: si ça ne marche pas, PHP ne saura très probablement jamais pourquoi et il faudra faire appel au développeur Perl qui l'a conçu car c'est pas la responsabilité des développeurs PHP.

    Donc selon moi, cette délégation ne doit être faite qu'au sein d'une infra SOA ou multitiers. Au sein d'un même composant, l'utilisation de plusieurs langages sans bridge ou CORBA c'est casse gueulle...

  5. #5
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    Je suis arrivé dans une entreprise pour mon stage et il ont l'habitude de faire tourner des scripts perl la nuit.

    J'ai donc reprit le fonctionnement. La synchronisation des bases va être faite toutes les nuits mais elle peut, grâce à ce bouton, être mise à jours dans la journée dans de rare cas. les personnes utilisatrices de ce logiciel est le SI de l'entreprise.Il seront donc apte à allé voir directement en ligne de commande d'où vient le problème.

    C'est une application en intranet.

    Ensuite j'avais vue que exec() était dangereux c'est pour cela que je ne l'avait pas sélectionné. mais j'en avais un peu marre hier soir et ça fonctionne tres bien.

    Encore merci.

    bonne journée =)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour exécuter un script Perl
    Par jungle360 dans le forum Langage
    Réponses: 5
    Dernier message: 23/04/2006, 14h37
  2. [TOMCAT]configurer TOMCAT pour exécuter un script ANT
    Par VysEDaKRe dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/04/2006, 11h58
  3. [Apache] user_dir et exécution de script Perl
    Par GLDavid dans le forum Web
    Réponses: 2
    Dernier message: 01/12/2005, 09h54
  4. Exécuter un script perl à partir de php
    Par ibtisss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 10/11/2005, 11h44
  5. Réponses: 9
    Dernier message: 25/10/2005, 14h23

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