Ligne de commande

Eléphant du PHP | 150 Messages

27 mars 2008, 16:48

Bonjour à tous,

Je tiens à vous le préciser tout de suite: je suis un débutant ABSOLU dans le domaine de la question que je vais poser. Alors, indulgence :D

Voilà : je voudrais vérifier un chemin sur mon serveur avec une ligne de commande, donc, si j'ai bien compris, en utilisant le terminal. Mais je n'ai pas la moindre idée de la façon dont je dois m'y prendre!

Pouvez-vous me donner des indications ?

Merci d'avance.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 mars 2008, 17:42

Qu'entends tu par "vérifier un chemin" ? tu veux savoir si le dossier vers lequel il pointe existe bien ?

Sous unix tu peux tester l'existence d'un dossier avec la commande -d (bon par contre va te falloir quelques notions de shell)
if [ -d $dossier ]; then
...
elif
...
fi
Sous windows, c'est une commande dos (et les notions de batch qui vont avec) qui te permet de vérifier son existence
IF EXIST dossier (
...
) ELSE (
...
)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 150 Messages

27 mars 2008, 19:37

Oui, pardon, je vais être plus clair.
J'ai un exécutable dans un dossier pour un module de paiement en php. Lorsque j'appelle mon script, le module me dit qu'il ne trouve pas cet exe à la place où je lui dis de chercher.
J'ai donc essayé différents moyens (is_executable() -> réponse oui; var_dump() NULL, changer le chmod de 755 à 777 -> même résultat, vérification safe_mod off...), sans réussir.

La hot line me demande donc de vérifier le chemin de cet exécutable avec une ligne de commande...
Je suis heureux de voir que l'instruction manque un peu de clarté.
J'imagine que cela veut dire : avec le terminal, se bracher sur le site et taper le chemin pour voir quel message on me retourne.

Je travaille sur Mac, j'ai donc le Terminal sous Darwin, sous unix donc.
Faire du shell ne me fais pas peur, à condition que je sache quel fonction je dois appeler (telnet ?) et que faire ensuite.

Voilà, après tout cela, pensez-vous que mon cas soit désespéré?

ViPHP
ViPHP | 5924 Messages

28 mars 2008, 02:47

Tu peux te connecter en ssh je pense :
ssh [email protected]
Tu alors seras connecté sur le serveur, il suffira de tester la commande…

ViPHP
ViPHP | 1380 Messages

29 mars 2008, 10:34

Tu peux te connecter en ssh je pense :
ssh [email protected]
Tu alors seras connecté sur le serveur, il suffira de tester la commande…
En prenant soin de d'abord supprimer la variable PATH du shell avant de tester ta commande car le shell charge un path par défaut qui masquera le chemin absolu. Ce PATH ne sera probablement pas accessible au UID du serveur web.

Ou bien utiliser $ which <ta_commande> qui sur certaines distrib révélera le chemin absolu de ta commande. Si which ne marche pas, essaye whereis
ripat