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

Owedon Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -  
Owedon Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   200
 
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   Statut Membre Dernière intervention   30
 
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