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] Probleme de PATH avec la fonction exec


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut [Système] Probleme de PATH avec la fonction exec
    Salut à tous !

    Mon problème est je pense un peu à cheval sur PHP/Apache/UNIX.

    J'essaye d'installer la librairie ImageMagick sur mon mac. En console tout marche bien, les executables se sont installés dans /usr/local/bin. J'ai mis à jour mon PATH pour avoir juste à taper des choses telles que "convert truc.jpg truc.png" au lieu de "/usr/local/bin/convert truc.jpg truc.png".
    Tout marche donc à merveille en console.

    J'essaye donc d'executer ces commandes avec la fonction exec dans un script PHP, et là, valeur de retour : 127 "commande non trouvée".
    Si je mets le chemin complet à la commande, ça passe, mais pas le "raccourci". Je pense donc que PHP n'a pas le même "PATH" que ma console bash.

    Quelqu'un sait comment résoudre ça ?

    ça m'embeterait de devoir taper le chemin absolu des commandes à chaque fois car je voudrais avoir exactement le même fonctionnement que sur mon hebergeur ...

  2. #2
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    Bonjour,

    Vérifies dans le fichier php.ini
    Il est difficile d’attraper un chat noir dans une pièce sombre. Surtout lorsqu'il n’y est pas.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Bonjour,

    Vérifies dans le fichier php.ini
    Heuuu ... oui ... et je vérifie quoi ?
    Safe mode est à off.
    Si ça vient d'un autre paramètre il faudrait me dire lequel parce que je vois pas.

  4. #4
    Membre averti Avatar de supernova
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 447
    Points : 415
    Points
    415
    Par défaut
    Vois la valeur de Document_root (en utilisant phpinfo) et travailles en relatif par rapport à cette valeur ou mets le document_root dans ton PATH
    Il est difficile d’attraper un chat noir dans une pièce sombre. Surtout lorsqu'il n’y est pas.

  5. #5
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    utilise aussi la fonction $_SERVER['DOCUMENT_ROOT'] tu peux te baser sur lui pour avoir le chemin juste.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  6. #6
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je poste ici car ca me semble plus judicieux que de créer un nouveau sujet qui est assez similaire. J'ai une question assez proche de celle à l'origine de ce topic : je désire exécuter un script qui est sur mon ftp et la commande exec ne parviens pas a y accéder alors que j'ai essayé d'y accéder par la fonction "file_get_contents" qui fonctionne bien... J'ai bien autorisé les droits d'exécution sur le fichier en question mais ca ne fonctionne pas.
    Je me demande d'où ca peut venir. En me baladant un peu sur le forum j'ai que ca pouvait aussi venir du fait que la fonction exec soit désactivée sur le serveur que j'utilise, est il possible d'avoir une liste des fonctions interdite ou il faut absolument que je demande à l'admin ? (qui n'est pas trop joignable donc ca ne m'arrange pas)
    Sinon si quelqu'un a déjà eu un problème similaire, je prend tout conseil.

    Merci d'avance,
    Xavier.

  7. #7
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    phpinfo() tu as listes des fonctions desactivé. Sinon tu as une fonction Php qui référence toute les fonctions actives.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  8. #8
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup... le problème vient en effet de là (enfin j'imagine que la ligne où il y a marqué "disable-cgi" est celle qui me pose problème ).
    Par contre je n'ai pas trouvé la fonction php qui référence toutes les fonctions actives...

  9. #9
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    J'ai trouvé cette fonction dans www.php.net dans la catégorie fonction elle est là
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  10. #10
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Bon désolé j'avais un peu laissé tomber cette affaire par manque de temps.
    Je reprends donc

    L'histoire du Document Root et compagnie ne semble pas convenir car vous me parlez de reconstruire un chemin ...
    Je ne veux pas reconstruire de chemin, je veux que ça marche en tapant "convert image.jpg image.png" et non avec un chemin avant justement.

    Pourquoi ?
    Parce que sur mon hébergeur c'est comme ça et que ça l'est surement sur les autres aussi.

    Mais bon j'ai quand même pris en compte ce que vous m'aviez dit et j'ai lu mon phpinfo().
    Et la je me suis rendu compte qu'en dessous de Document Root il y avait ça :
    PATH /bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices
    Donc je suis sur quasiment à 100% que c'est la dedans que ça se passe pour mon probleme.
    Cette liste de chemins ne correspond pas à celle que j'ai définis dans mon bash. Il manque /usr/local/bin, qui est justement le chemin qui m'interesse.

    Quelqu'un sait ou cette variable PATH peut être modifiée ?

  11. #11
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Après quelques recherches j'ai essayé de faire ça :
    SetEnv PATH "/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/System/Library/CoreServices:/usr/local/bin"
    Mais ça reste sans succès.
    Dans mon phpinfo, le PATH reste identique à avant.

  12. #12
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Bon ben ... je n'ai pas vraiment réussi à résoudre le vrai probleme qui était "comment qu'on ajoute /usr/local/bin dans le PATH d'apache", mais j'ai réussi à le contourner.

    Vu que /usr/bin était dans le path apache, j'ai créé un lien symbolique pour chacun de mes executables dans ce dossier.

    Du coup maintenant ça marche !
    C'est crade mais bon :s j'ai fouillé partout sur le net, pas moyen de trouver comment modifier le PATH d'apache.
    Donc si quelqu'un passe par là et connait la réponse jsuis prenneur à 100%

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

Discussions similaires

  1. [Système] Problème avec la fonction "exec()"
    Par jb084 dans le forum Langage
    Réponses: 2
    Dernier message: 07/08/2007, 11h21
  2. [Système] Pb avec la fonction exec
    Par MayOL69bg dans le forum Langage
    Réponses: 9
    Dernier message: 24/05/2007, 19h12
  3. [Système] P'tit soucis avec la fonction EXEC
    Par nais_ dans le forum Langage
    Réponses: 9
    Dernier message: 23/08/2006, 11h36
  4. [Système] problème avec la fonction exec
    Par SegmentationFault dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2006, 17h59
  5. [Système] Problème avec la fonction exec()
    Par ben_harper dans le forum Langage
    Réponses: 13
    Dernier message: 28/06/2006, 11h32

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