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] n'arrive pas à lancer un programme avec exec ou shell_exec


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut [Système] n'arrive pas à lancer un programme avec exec ou shell_exec
    Bonjour ,
    J'essaie d'executer un programme avec une des fonctions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo exec("gnuplot gnuex");
    echo shell_exec("gnuplot gnuex);
    passthru("gnuplot gnuex");
    mais rien ne fonctionne...
    Je précise que j'ai un serveur apache 2.0 qui me permet de tester le php en local, et que je suis sous Linux Debian version 3.1.

    Le script gnuex contient le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set terminal png
    set output "essai.png"
    plot sin(x)
    Lorsqu'il est appelé depuis la ligne de commande sous linux : le script fonctionne parfaitement, et l'image essai.png est bien crée.

    Est-ce que mon code php est correct ? Ai-je un problème de config de mon serveur apache qui empêche l'exécution de gnuplot ?
    Merci de votre aide ...

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Peut-être une histoire de droits d'accès ?
    Je dis ça au pif, sans conviction...

    Sinon, juste au cas où, il y a une autre méthode pour exécuuter des commandes:

  3. #3
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Non, ca ne marche pas.
    Aucun message d'erreur, mais l'image n'est pas créée.
    Que faire ??

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    ./ ?

  5. #5
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    ben je rejoint yogui

    normalement tu execute du code natif a l'aide des guillement magique ``

    fais attention a mettre le chemin complet de l'executable :

    /opt/prg/monprog.sh par exemple

    ca doit marcher meme si parfois c'est pas le pied

    WD
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Ahhh oui, si ça se trouve, tu ne l'exécutes pas à partir du bon endroit

  7. #7
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Non, ça ne marche pas.
    Mon fichier gnuex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set terminal png
    set output "/home/jerome/public_html/essai.png"
    plot sin(x)
    Mon code php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html>
    <?
    passthru("/usr/bin/gnuplot /home/jerome/public_html/gnuex");
    ?>
    <img src="essai.png">
    </html>
    J'ai essayé aussi avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo shell_exec("/usr/bin/gnuplot /home/jerome/public_html/gnuex");
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo exec("usr/bin/gnuplot /home/jerome/public_html/gnuex");
    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '/usr/bin/gnuplot /home/jerome/public_html/gnuex';
    Il n'y a toujours aucune image .png créée. Que faire ?

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    est ce que PHP a les droits d'écrire dans le répertoire "/home/jerome/public_html/gnuex" ?
    mets les droits 777 à "gnuex"

  9. #9
    Membre habitué Avatar de wdionysos
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    222
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 222
    Points : 189
    Points
    189
    Par défaut
    Dans tous les cas , c'est a verifier mais je doute que ce soit echo qu'il faut employer car cette commande envoie sur la sortie par defaut qui est en general l'ecran et donc je ne pense pas que ca peut etre utiliser pour une commande au systeme.

    je pense comme mathieu que tu dois verifier ta configuration php, apache et les droit sur les dossier concerné.

    WD
    Je ne voudrais pas faire partie d'un club qui voudrait m'avoir moi pour membre.... [Grouchot Marx]
    Mais en tant que Marxiste, je playdoye pour le travail communautaire. C'est un paradoxe olympien ! Comprend qui peut !!!

  10. #10
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    J'ai réussi !
    Il fallait que j'attribue les droits 777 au dossier qui contient tous les fichiers : gnuex, index.php, etc.
    public_html étant le nom du dossier qui contient tout...
    Le fait d'attribuer les droits au fichier gnuex seulement n'était pas suffisant.

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

Discussions similaires

  1. Lancer un programme avec un certain utilisateur
    Par jagboys dans le forum MFC
    Réponses: 5
    Dernier message: 14/11/2007, 00h05
  2. [SQL-Server] Je n'arrive pas à faire tourner php avec Sql server (2005)
    Par bluecurve dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/03/2006, 18h50
  3. Je n'arrive pas à lancer le gestionnaire des tâches
    Par GBAGO dans le forum Windows XP
    Réponses: 9
    Dernier message: 19/10/2005, 09h20
  4. Réponses: 7
    Dernier message: 22/09/2005, 10h09
  5. [Kylix 3] Je n'arrive pas à utiliser MySQL
    Par usebob dans le forum EDI
    Réponses: 4
    Dernier message: 15/04/2005, 10h18

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