Lancement d'un bat via la fonction system php

Lancement d'un bat via la fonction system php - PHP - Programmation

Marsh Posté le 15-03-2013 à 11:22:40    

Bonjour,  
Dans un script php de mise à jour j'ai:
system("fichier.bat $ftp" );
Le .bat contient des mise à jour de fichiers via wget.
 
Lorsque je lance le .bat manuellement la mise à jour fonctionne.
Lorsque je lance via mon script php ça ne passe pas.
 
La fonction system fonctionne bien, je vois les lignes de maj défiler, les commandes cd fonctionnent mais pas la commande wget en l’occurrence.
Il lit bien les lignes mais ne semblent pas lancer le programme.
 
C'est un déploiement sur une nouvelle machine en windows 7 64 bit.
Je sais que le script en lui même fonctionne, le problème viens de ma configuration d'apache, php, ou de la sécurité de windows.
 
Des idées?  
Merci.  
 
 :jap:  
 
   


---------------
Et vous, quel est votre Final Fantasy préféré ?  
Reply

Marsh Posté le 15-03-2013 à 11:22:40   

Reply

Marsh Posté le 15-03-2013 à 11:58:20    

Il fallait mettre les fichiers wget au même emplacement que le .bat.  :o  
 
Étonnant que ça fonctionne sur les autres postes sans cette manip cependant.  :??:  
 


---------------
Et vous, quel est votre Final Fantasy préféré ?  
Reply

Marsh Posté le 15-03-2013 à 13:19:56    

y'avait quoi dans $ftp ? Normalement à moins que les chemins de .exe soient déclarés dans la variable PATH de l'OS, faut mettre le chemin complet du binaire pour l'appeler et que ça marche. Idem si ce binaire prend en paramètre le chemin d'un fichier ;)
 
Et si y'a des espaces dans le chemin de l'un ou l'autre, faut mettre le chemin entre guillemets...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-03-2013 à 16:26:11    

$ftp c'est l'adresse ip en local dans mes test mais en prod c'est le dns.
 
Ce script m'***** de plus en plus, en le mettant dans le dossier du bat il lance bien le premier wget, mais pas les suivants alors qu'en manuel il met tout à jour.  :pt1cable:  
La j'ai abandonné je suis en week end mais je devrais résoudre ça lundi matin.
 
Je vais vérifier les chemins, mais à l'origine les exe étais dans le system32.
 
Et en tapant ça je percute que le system32 est peut-être pas dans le path d'un os64  :sweat:


---------------
Et vous, quel est votre Final Fantasy préféré ?  
Reply

Marsh Posté le 15-03-2013 à 16:38:10    

C'est pour ça que pour pas être tributaire du contenu du PATH de l'OS (en plus avec php, tu peux sur un OS Linux, Windows, Mac...) ou du répertoire par défaut, vaut mieux mettre le path complet de chaque binaire appelé ou fichier passé en paramètre de la fonction system() ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 15-03-2013 à 16:50:29    

Ca doit être ça, on verra à tête reposée lundi.
Merci de ton aide.  :jap:


Message édité par stefaninho le 15-03-2013 à 16:50:38

---------------
Et vous, quel est votre Final Fantasy préféré ?  
Reply

Sujets relatifs:

Leave a Replay

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