php en ligne de commande sous linux

php en ligne de commande sous linux - PHP - Programmation

Marsh Posté le 11-05-2005 à 10:33:52    

bonjour à tous,
 
je voudrais écrire un script PHP qui se lance en ligne de commande sous Mandrake 10 (j'utilise PHP 4.3.4).
 
j'arrive a le faire sous windows, mais pas sous linux :(
 
je tappe ça :

>$ php /home/script/script.php


 
et j'obtiens ça :

>$ php /home/script/script.php
bash : php: command not found


 
je ne comprends pas, j'ai pourtant installé PHP  :sweat:


Message édité par andlio le 11-05-2005 à 10:39:19
Reply

Marsh Posté le 11-05-2005 à 10:33:52   

Reply

Marsh Posté le 11-05-2005 à 10:35:51    

Tu as installé PHP-CLI?

Reply

Marsh Posté le 11-05-2005 à 10:36:41    

OOPS je suis con j'avais mal lu, oublie ma réponse

Reply

Marsh Posté le 11-05-2005 à 10:37:24    

cesarr89 a écrit :

Tu as installé PHP-CLI?


 
je pensais que c'était compris dans PHP 4... il faut installé quoi exactement ?
 

Reply

Marsh Posté le 11-05-2005 à 10:38:10    

cesarr89 a écrit :

OOPS je suis con j'avais mal lu, oublie ma réponse


 
dommage... et moi qui pensais avoir une piste  :(

Reply

Marsh Posté le 11-05-2005 à 10:43:21    

Regarde quand meme du coté de PHP-CLI

Reply

Marsh Posté le 11-05-2005 à 10:52:13    

- met le chemin complet vers l'executable php
- sinon met un shebang au début de ton script et tu pourras executer ton fichier directement, par exemple :

Code :
  1. #!/usr/bin/php

Reply

Marsh Posté le 11-05-2005 à 10:55:05    

merci à vous, mais en fait cesarr89 avait raison... en installant mandrake, j'ai installé PHP, mais j'ai oublié d'inclure le packetage php-cli  :pt1cable:


Message édité par andlio le 11-05-2005 à 10:55:23
Reply

Marsh Posté le 11-05-2005 à 10:59:01    

au fait j'ai un autre pb, je profite de ce topic pour en parler :
 
j'ai besoin d'éxecuter un commande unix dans le script que je lance en ligne de commande, je fais donc :

Code :
  1. $cmd="/usr/bin/crontab -l";
  2. $res=shell_exec($cmd);
  3. echo $res;


 
mais rien ne s'affiche. par contre quand je fais la même chose mais en mettant $cmd="ls -l", ça m'affiche bien le contenu du répertoire...
 
j'ai également essayé avec exec()... mais toujours la mm chose
 
une idée ??


Message édité par andlio le 11-05-2005 à 11:00:12
Reply

Marsh Posté le 11-05-2005 à 11:01:22    

$cmd="/usr/bin/crontab -l";  
 
la commande est censé faire quoi?

Reply

Marsh Posté le 11-05-2005 à 11:01:22   

Reply

Marsh Posté le 11-05-2005 à 11:02:09    

C'est un probleme de path a tous les coups.
 
Faits un "which php" et regarde s'il te retourne quelque chose.
Si cette commande ne te retourne rien, ca veut dire que le repertoire ou se trouve php n'est pas dans le path.
La meilleure solution est de faire un symlink de php ds "/usr/bin" par exemple. (Ou de verifier que php est correctement installe).

Reply

Marsh Posté le 11-05-2005 à 11:04:17    

cesarr89 a écrit :

$cmd="/usr/bin/crontab -l";  
 
la commande est censé faire quoi?


 
elle est censée afficher la "cron table" de l'utilisateur en cour.
je sais pas si tu connais cron, mais en gros c'est un démon qui scan toutes les minutes les cron tables et qui exécute les tâches qui y sont inscrites... en fait c'est un planificateur de tâches...

Reply

Marsh Posté le 11-05-2005 à 11:04:57    

Et y'a forcément un résultat?

Reply

Marsh Posté le 11-05-2005 à 11:06:43    

cerel a écrit :

C'est un probleme de path a tous les coups.
 
Faits un "which php" et regarde s'il te retourne quelque chose.
Si cette commande ne te retourne rien, ca veut dire que le repertoire ou se trouve php n'est pas dans le path.
La meilleure solution est de faire un symlink de php ds "/usr/bin" par exemple. (Ou de verifier que php est correctement installe).


 
merci Cerel, mais le pb avec php en CLI est réglé.
En fait y'a un 2ème topic ds le topic... :pt1cable:  
 
je devrais peut etre en créer un autre

Reply

Marsh Posté le 11-05-2005 à 11:08:02    

cesarr89 a écrit :

Et y'a forcément un résultat?


oui !
 
quand je tappe directement la commande '/usr/bin/crontab -l' dans le terminal, le résultat s'affiche correctement

Reply

Marsh Posté le 11-05-2005 à 11:10:07    

bah là je suis dsl mais je vois pas d'où ca vient

Reply

Marsh Posté le 11-05-2005 à 11:10:37    

j'ai créer un nouveau topic sur ce pb, ca sera plus claire comme ça...
 
http://forum.hardware.fr/hardwaref [...] 9902-1.htm

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed