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 :

[Système] Tracer l'exécution d'un programme externe


Sujet :

Langage PHP

  1. #1
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut [Système] Tracer l'exécution d'un programme externe
    Bonjour,

    Je ne sais pas si je suis dans le bon forum.

    Je veux exécuter un programme externe. J'ai défini l'exécution comme ceci en php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $execution='/home/oooconv/http/transforme.sh c:/program files/easyphp1-8/www/oooconv/temp/90aa07296cadaa10fc9f5091cf747ba7/mondoc.sxw PDF 90aa07296cadaa10fc9f5091cf747ba7 2>&1 > /tmp/test.txt';
    exec( $execution );
    C'est l'appel d'une fonction permettant de convertir un document OOo en PDF.

    Le script transforme.sh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/sh
    rm -f /tmp/OSL_PIPE_*
    # Renseignez ici l'adresse IP et le numéro de display sur le quel l'application est affiché exemple 127.0.0.1:1
    # export DISPLAY=":0.0"
    export DISPLAY="127.0.0.1"
    nice -10 /usr/bin/ooffice -headless "macro:///Standard.Module1.Exporte("$1,$2,$3")" 
    # /opt/OpenOffice.org1.1.0/program/soffice.bin -headless "macro:///Standard.Module1.Exporte("$1,$2,$3")" 
    # /home/httpd/.openoffice/1.1.0/soffice -headless "macro:///Standard.Module1.Exporte("$1,$2,$3")"
    Le traitement s'exécute, mais je n'ai pas de résultat. Je ne sais pas comment traçer transforme.sh pour savoir ce qui s'y passe.

    J'avoue connaître le php, mais pas le code de la fonction que j'exécute.

    Une expérience sur le sujet ?
    Merci d'avance de la partager.
    Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    je ne sais pas ce que fais ton script sh par contre tu as deux moyens de récupérer le retour d'une commande exécutée par la fonction exec() d'après la doc.

    Le paramètre de retour est une string qui te retourne la dernière ligne renvoyée par le programme exécuté.
    Le deuxieme paramètre de la fonction exec() est optionnel, doit être un tableau si présent et contient les données retournées par ton programme.

    Donc en faisant quelquechose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $retourTab = array();
    $retour = exec( $execution, &$retourTab );
    echo "La valeur retournée est : " . $retour . "<br/>";
    echo "La totalité des données retournées est : ";
    print_r($retourTab);
    tu auras peut etre plus d'infos!

    Enfin, le troisième paramètre est une valeur correspondant au statut de l'exécution.

  3. #3
    Membre extrêmement actif Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Points : 682
    Points
    682
    Par défaut
    Mon script sh doit convertir un document .sxw en .pdf.

    Il doit lancer le script openoffice de conversion vers pdf.

    J'ai placé mon écho, mais je n'ai pas de retour.
    Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    ton script sh donne-t-il des infos quand tu le lances dans un shell? Parce que s'il n'écrit rien dans ton shell, il est normal qu'au niveau de php tu ne récupères rien.

Discussions similaires

  1. Exécution d'un programme externe
    Par morofiler dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2010, 17h29
  2. Exécution d'un programme externe
    Par DSGSLA dans le forum C++
    Réponses: 10
    Dernier message: 21/04/2010, 15h24
  3. Réponses: 7
    Dernier message: 03/12/2009, 16h22
  4. [Système] exécution d'un programme externe
    Par wonderyan dans le forum Langage
    Réponses: 2
    Dernier message: 17/09/2007, 12h40
  5. exécution d'un programme externe
    Par didiss dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 04/04/2007, 12h29

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