[PHP] je n'arrive pas a executer une commande via PHP

je n'arrive pas a executer une commande via PHP [PHP] - PHP - Programmation

Marsh Posté le 05-03-2004 à 15:50:24    

:hello:  
 
j'essaie de lancer un .cmd sur mon serveur depuis un scipt PHP.
mon .cmd execute lui-même un script PHP qui execute une requete SQL et place les resultats dans un fichier texte
 
j'ai essaye avec exec et passthru mais ca tourne dans le vide : aucun fichier n'est genere ... (en executant a la main le .cmd, ca marche bien, je precise ;))
 
voici mon code au cas ou ...
 
1er script PHP qui appelle le .cmd :

Code :
  1. exec('C:\mon_chemin_sur_le_serveur\EXTRACT_annonces_log.cmd');


 
le code du .cmd :

Code :
  1. php.exe -f EXTRACT_annonces_log.php


 
un avis :??:


Message édité par Batman-Fr le 05-03-2004 à 15:51:26

---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 05-03-2004 à 15:50:24   

Reply

Marsh Posté le 05-03-2004 à 16:15:19    

Faut voir. 2 pistes possibles :
- problème de droit : je pense que les droits utilisés pour l'exécution du .cmd seront ceux du serveur web. Peut être sont-ils trop restreints pour accéder et exécuter corectement le .cmd.
 
- problème de répertoire : tu lances l'exécution du script avec son chemin complet, mais il ne se place pas forcément dans ce répertoire. Donc il ne trouve pas le fichier EXTRACT_annonces_log.php dans le répertoire où il se trouve.  
 
Essaie en lancant directement la commande complète, au lieu de passer par un .cmd [:figti]

Reply

Marsh Posté le 05-03-2004 à 16:26:22    

j'etais justement sur ces pistes ...
j'execute directement la commande lancee par le .cmd et j'ai ajouter le chemin complet a chaque fois. Je n'ai pas de message d'erreur mais toujours pas de fichier genere grrrrr....
 
pour les droits, vu que je ne passe plus par le .cmd, cela peut-il etre tjrs un probleme ?
 
:(


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 05-03-2004 à 16:36:33    

C'est bien "EXTRACT_annonces_log.php" qui cree le fichier texte, essaye de regarder ou il le cree, s'il utilise le repertoire courrant. Comme l'a dit mrbebert, le probleme viens peut-etre de la.
 
Essaye de modifier "EXTRACT_annonces_log.php" pour qu'il cree le fichier toujours au meme endroit par exemple "c:\". Apres tu auras un base qui te permetera de comparer l'execution via le "cmd" et l'exec via ton script php.

Reply

Marsh Posté le 05-03-2004 à 16:48:08    

Cerel a écrit :

C'est bien "EXTRACT_annonces_log.php" qui cree le fichier texte, essaye de regarder ou il le cree, s'il utilise le repertoire courrant. Comme l'a dit mrbebert, le probleme viens peut-etre de la.
 
Essaye de modifier "EXTRACT_annonces_log.php" pour qu'il cree le fichier toujours au meme endroit par exemple "c:\". Apres tu auras un base qui te permetera de comparer l'execution via le "cmd" et l'exec via ton script php.


 
co**llon que je suis [:violito]  
ca fonctionne bien, le fichier est cree dans le repertoire de mon 1er script PHP et non pas dans le repertoire où EXTRACT_annonces_log.php est execute
 
mille :jap: a vous 2
 
(roo je m'en veux !!! :fou: )


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 05-03-2004 à 16:48:59    

derniere question : il vaut mieux privilegier exec(), passthru() ou system() :??:


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 06-03-2004 à 00:38:38    

Si j'ai bien compris tu utilise un fichier .cmd parce que les fichiers à lire ne sont pas sous la racine du serveur web? :??:

Reply

Marsh Posté le 06-03-2004 à 10:16:27    

non j'utilisais le .cmd pour executer un scipt PHP directement sur le serveur et passer outre la limite de temps d'execution de script qui me posait probleme dans certain cas
 
le .cmd m'etais surtout utile pour eviter de retaper la ligne de commande a la main ;)


Message édité par Batman-Fr le 06-03-2004 à 10:17:08

---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 08-03-2004 à 09:37:55    

Batman-Fr a écrit :

derniere question : il vaut mieux privilegier exec(), passthru() ou system() :??:


 
 [:huit]


---------------
Tout ou rien mais rien que tout ! feed-back : http://forum.hardware.fr/forum2.ph [...] ost=121391
Reply

Marsh Posté le 08-03-2004 à 13:36:14    

D'après ce que j'ai compris, passthru est plus adapté aux programmes qui renvoient du binaire et que tu veux envoyer directement au client (par exemple, une image).
Pour les 2 autres, les différences ont l'air subtiles :D

Reply

Sujets relatifs:

Leave a Replay

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