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] Exécution de commandes


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut [Système] Exécution de commandes
    Bonjour,

    J'ai un bout de code qui ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system('pdflatex test.tex');
    quand j'utilise la fonction system avec pdflatex, ca ne marche pas et aucun pdf n'est cree, mais quand je l'appelle depuis DOS (en etant dans le meme repertoire) ca marche.

    en plus si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system('matlab test.m');
    le programme matlab s'execute sans probleme.

    Je ne sais pas où se situe mon probleme, j'ai fait des recherches sur google et tout le monde semble utilise cette commande sans probleme!!

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Salut,

    essais ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    echo '<pre>';
     
     $last_line = system('pdflatex test.tex', $retval);
     
     echo '
    </pre>
    <hr />La dernière ligne lue : ' . $last_line . '
    <hr />Valeur retournée : ' . $retval;
    ?>
    histoire de le rendre un peu plus bavard.

    a plus

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    j'avais déjà essayé, le $last_line me retourne un tableau vide et $ret_val est à false 0.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Note: Lorsque le safe mode est activé, vous pouvez uniquement exécuter des programmes qui se situent dans le dossier défini par safe_mode_exec_dir. Pour des raisons pratiques, il n'est actuellement pas permis d''avoir le composant .. dans le chemin de l'exécutable.
    Tu as vérifié ce point ?

    Tu as vérifié que la fonction system est autorisé ?

    a plus

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par kaymak Voir le message
    Tu as vérifié ce point ?

    Tu as vérifié que la fonction system est autorisé ?

    a plus
    oui, le safe mode est a off, mais comme je peux executer d'autres programmes (matlab), je ne pense pas que ca soit la cause, je ne sais plus vraiment ou chercher!

    merci

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Ben après on peut se demander si il trouve bien le programme.

    Mais en même si il ne le trouve pas, il devrait nous le dire !

    Essais de vérifier tes variables d'environnement dans windows.

    Sinon, essais de qualifier complètement ton chemin d'accès à l'executable.

    Ou bien essais ainsi c:\windows\system32\cmd.exe pdflatex test.tex Ou alors start pdflatex test.tex

    A plus

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    quand j'essaye le "start pdflatex test.tex"

    il me sort l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Windows ne trouve pas 'pdflatex',Verifiez que vous avez entré le nom correctement et essayer de nouveau.
    pour "c:\windows\system32\cmd.exe pdflatex test.tex "

    il m'affiche la version de windows, mais le programme ne s'execute pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Microsoft Windows XP [version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    essaye "c:\windows\system32\cmd.exe /c pdflatex test.tex" des fois que.

    Autrement quand tu lances une commande et que tu tapes pdflatex sa fonctionne ?

    Et as tu essayé d'utiliser le chemin complet vers l'exe ?

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par kaymak Voir le message
    essaye "c:\windows\system32\cmd.exe /c pdflatex test.tex" des fois que.

    Autrement quand tu lances une commande et que tu tapes pdflatex sa fonctionne ?

    Et as tu essayé d'utiliser le chemin complet vers l'exe ?

    1 - "c:\windows\system32\cmd.exe /c pdflatex test.tex" ne marche pas non plus.

    2 - quand je suis sur la console dos, "pdflatex test'.tex" marche parfaitement

    3 - j'ai essaye

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $chemin = escapeshellarg("C:\Program Files\MiKTeX 2.7\miktex\bin\pdflatex");
    echo $chemin;
    system("$chemin test.tex");

    mais aucun resultat non plus

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 24
    Points
    24
    Par défaut
    MAJ:

    mes commandes marchent finalement!
    a part le fait de redemarrer mon pc, j'avais rien changé!!

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

Discussions similaires

  1. [Système] Exécuter une commande
    Par Albat_r dans le forum Langage
    Réponses: 52
    Dernier message: 16/03/2009, 09h39
  2. [Système] Exécuter des commandes shell
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 18/10/2008, 21h06
  3. [Système] Exécuter une commande java avec exec()
    Par kenny49 dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2007, 09h29
  4. Réponses: 3
    Dernier message: 27/03/2007, 14h39
  5. [Système] Exécution de commande et boucle infinie ?
    Par haffouff dans le forum Langage
    Réponses: 9
    Dernier message: 22/05/2006, 16h04

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