Shell_exec : impossible de récupérer la sortie standard

Fermé
PhilippeLo - 28 mai 2014 à 14:27
-helper- Messages postés 89 Date d'inscription mercredi 21 mai 2014 Statut Membre Dernière intervention 15 juin 2014 - 29 mai 2014 à 18:01
Bonjour,

Avez-vous trouvé la solution à votre problème de 2005 : Afficher la sortie standard dans votre page php ? J'ai le même problème. une commande simple comme ls fonctionne bien mais dès qu'il y a un traitement plus long, cela n'affiche rien. Il semble que le script n'attende pas la fin du traitement.

Merci

1 réponse

-helper- Messages postés 89 Date d'inscription mercredi 21 mai 2014 Statut Membre Dernière intervention 15 juin 2014 27
29 mai 2014 à 18:01
Salut !

D'après la doc : shell_exec -- Execute command via shell and return the complete output as a string.

Je pense que ton problème vient d'ailleurs...
Combien de temps ta commande met-elle à exécuter sans PHP ?

Ce à quoi je pense : la limite de 30 secondes qui existe par défaut quand on passe par un serveur web...

Et si tu exécutais simplement ta commande système en mode asynchrone et que tu lisais le résultat dans un fichier plus tard ?

// Sous unix...
shell_exec( 'commande > commande.log &' );
// fin script

// quand je veux savoir comment ça s'est passé via un webservice par exemple...
$errorlog = file_get_contents( 'commande.log' );

0