Bien le bonjour, je vous expose rapidement la situation :
J'ai une application en PHP/MySQL qui a pour objet d'executer un *.bat sur une machine distante. Le dit *.bat contient juste un path-to/appli.exe - param1 - param2, il doit ainsi lancer une application.
J'ai donc deux machines :
1 - un serveur web surlequel est installé la bdd ainsi qu'une grande partie de mon code php.
2 - la machine distante sous windows 2000 server équipée de easyphp, surlaquelle réside une autre partie du code php ainsi que le *.bat.
L'application fonctionne bien si ce n'est que le *.bat n'est pas correctement executé, c'est à dire que appli.exe commence à démarrer puis passé une fraction de seconde se stop immédiatement.
Voilà une partir du code que j'utiise pour lancer le *.bat
Code :
- $result = mysql_query($sql);
- if ($result) {
- $row = mysql_fetch_assoc($result);
- if ($row) {
- extract($row);
- $bat = $s_path_bat.$s_filename;
- $reponse = system("cmd /C $bat" );
- echo "Action exécutée avec succés";
- .......
|
Je ne pense pas que mon code PHP soit en cause mais plutot qu'il s'agisse d'un droit d'execution coté system. J'ai tenté d'attribuer au *.bat ainsi qu'à appli.exe un maximum de droits utilisateurs mais ce n'est pas concluant.
J'aurais donc quelques questions ?
- J'imagine que mon script php tente de lancer le .bat en tant qu'utilisateur Apache (easyphp), n'y a t il pas en php un moyen d'executer un exec\ ou cmd\ en lui conférants des droits particuliers (en l'occurance ici des droits admin/system) ?
- Y a - t il une fonction caché au fin fond de windows 2000 server qui me sauverait la vie ?
- Passer par le développement d'un service d'écoute pour Apache me semble abérent, n'y a t il pas une autre solution ?
Par avance merci à vous