Exec(), shell_exec() renvoient dans error.log

Fermé
Owedon Messages postés 113 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 14 avril 2015 - 13 avril 2015 à 18:16
Owedon Messages postés 113 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 14 avril 2015 - 14 avril 2015 à 18:44
Bonjour !

Je me heurte à un épineux problème ...
En effet, lorsque j'essaye d'exécuter ce code (au milieu d'un script), ça ne fait pas ce que je voudrais :

exec("scanimage -p --format ppm --resolution 200 -y 295mm -x 218mm > /var/www/html/Power-scan/scans/img.ppm &", $output);
file_put_contents("/var/www/html/Power-scan/scans/msg.txt", $output);


Lorsque ce code s'exécute, mon scanner se met bien en route, le fichier img.ppm est généré, mais le résultat de la commande ne se met absolument pas dans msg.txt. Plus bizarre encore, le résultat s'écrit à la suite dans mon fichier error.log, et ça donne un truc comme ça :

scanimage: rounded value of br-x from 218 to 215
Progress: 0.1%
Progress: 0.3%
Progress: 0.4%
Progress: 0.6%
Progress: 0.7%
Progress: 0.8%
Progress: 0.9%
Progress: 0.9%
Progress: 1.1%
Progress: 1.2%
Progress: 1.3%
Progress: 1.6%
Progress: 1.7%
Progress: 1.8%
Progress: 1.9%
Progress: 2.0%
Progress: 2.1%
Progress: 2.2%
Progress: 2.3%
Progress: 2.4%
Progress: 2.5%
Progress: 2.5%
Progress: 2.7%
Progress: 2.9%
Progress: 3.1%
Progress: 3.3%
Progress: 3.4%
Progress: 3.6%
Progress: 3.7%
Progress: 3.9%
Progress: 4.0%
Progress: 4.2%
Progress: 4.4%
Progress: 4.6%
Progress: 4.7%
Progress: 4.9%
Progress: 5.0%
Progress: 5.3%
Progress: 5.6%
[...]
Progress: 95.1%
Progress: 95.3%
Progress: 95.4%
Progress: 95.5%
Progress: 95.6%
Progress: 95.9%
Progress: 96.0%
Progress: 96.2%
Progress: 96.3%
Progress: 96.4%
Progress: 96.5%
Progress: 96.6%
Progress: 96.7%
Progress: 96.9%
Progress: 97.1%
Progress: 97.3%
Progress: 97.4%
Progress: 97.5%
Progress: 97.7%
Progress: 97.8%
Progress: 97.9%
Progress: 97.9%
Progress: 98.1%
Progress: 98.3%
Progress: 98.5%
Progress: 98.6%
Progress: 98.8%
Progress: 98.8%
Progress: 99.0%
Progress: 99.1%
Progress: 99.1%
Progress: 99.2%
Progress: 99.3%
Progress: 99.5%
Progress: 99.7%
Progress: 99.8%
Progress: 100.0%
Progress: 100.0%
Progress: 100.0%



étrange non ? Même sur la doc je n'ai pas trouvé le cas dans lequel exec() renvoie le résultat dans error.log ...
J'ai le même résultat en utilisant shell_exec() ou system() (en changeant bien-sûr les paramètres spécifiques aux fonctions).

Merci d'avance à celui qui m'apportera la lumière :D
Bonne soirée !

1 réponse

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
14 avril 2015 à 16:31
Salut,

en fait en shell, lorsque tu utilise ">" après une commande, cela veut dire que tu rediriges le flux de sorti vers un fichier plutôt que vers la sortie standard.
Dans ton cas tu utilises l'option -p qui affiche la progression.
Vu que cela "affiche" la progression et que tu utilises ">", l'affichage est alors redirigé vers le fichier spécifié.
0
Owedon Messages postés 113 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 14 avril 2015 30
14 avril 2015 à 18:44
Bonjour,
Merci pour ta réponse.
Ce qui est étrange c'est que lorsque j'exécute la commande directement dans la console, seule l'image est redirigée dans le fichier. La progression s'affiche belle et bien dans la console ...
Ce que je comprends encore moins c'est pourquoi ça vient s'inscrire dans error.log, sans aucun code d'erreur d'ailleurs.
0