Shell_exec : impossible de récupérer la sortie standard
PhilippeLo
-
-helper- Messages postés 89 Date d'inscription Statut Membre Dernière intervention -
-helper- Messages postés 89 Date d'inscription Statut Membre Dernière intervention -
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
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
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 ?
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' );