Bonjour,
Je suis passé d'un poste classique sous Windows XP vers un poste sous Windows Serveur 2003.
Mes deux configurations serveurs web sont les même.
Mais lorsque j'exécute le bout de code suivant sous Windows Serveur 2003 :
Code :
- $cwd ="C:\\Temp\\dir.log";
- $descriptorspec = array(
- 0 => array("pipe", "r" ), // // stdin est un pipe où le processus va lire
- 1 => array("pipe", "w" ), // stdout est un pipe où le processus va écrire
- 2 => array("file", "C:\\Temp\\dir.log", "a" ) // stderr est un fichier
- );
- $process = proc_open('dir', $descriptorspec, $pipes, $cwd);
- if (is_resource($process)) {
- // $pipes ressemble à :
- // 0 => fichier accessible en écriture, connecté à l'entrée standard du processus fils
- // 1 => fichier accessible en lecture, connecté à la sortie standard du processus fils
- // Toute erreur sera ajoutée au fichier /tmp/error-output.txt
- fclose($pipes[0]);
- echo stream_get_contents($pipes[1]);
- fclose($pipes[1]);
- // Il est important que vous fermiez les pipes avant d'appeler
- // proc_close afin d'éviter un verrouillage.
- $return_value = proc_close($process);
- // echo "La commande a retourné $return_value\n";
- exit($return_value);
- }
- else
- {
- exit(1);
- }
|
j'obtiens l'erreur suivante :
"Warning: proc_open() [function.proc-open]: CreateProcess failed, error code - 0"
j'ai fait une tentative via mes recherches google :
- donner les droits "Internet Guest Account" ainsi que "users de la machine" à cmd.exe et typedef.exe (sans vraiment savoir ce qu'est IIS).
Mais ça n'a rien donné.
Une idée ?
D'avance merci,
Mageni
Message édité par mageni le 20-04-2011 à 16:01:44