Hello a tous,
J'utilise la fonction EXEC pour exécuter un script sur mon serveur.
J'aimerais lors de l'exécution pouvoir récupérer les lignes retournées par la commande et plus particulièrement celle renvoyées par une erreur.
J'arrive bien a récupérer les lignes renvoyé quand tout ce passe bien mais par contre impossible de récupérer les erreurs.
exemple: La commande suivanteest fausse et me renvoyetar cvzf test.tgz
lorsque je l'execute manuellement.tar: Cowardly refusing to create an empty archive
Try `tar --help' or `tar --usage' for more information.
Par contre lorsque je la fais executer par exec j'obtiens ca:
(fichier de test de differente fonction php)
M'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $cmd ='tar cvzf test.tgz ';//commande qui doit planter echo 'Ma commande'.$cmd; exec($cmd,$output,$res); echo '<br/>fini exec requete<br/>*************<br/><br/>'; print_r($output); echo '<br/>**************<br/><br/>exec '.$res; echo $output[0]; echo $output[1]; echo '<br/>**************<br/>'; foreach($output as $put) { echo '$put\n'; } echo '<br/>**************<br/>'; passthru($cmd,$pass); echo '<br/>passthru '.$pass;
Alors j'ai bien un numéro d'erreur renvoyé mais je ne sais pas a quoi il correspond.ma commandetar cvzf test.tgz
fini exe requete
*************
Array ( )
**************
exec 2
**************
**************
passthru 2
Comment faire pour récupérer réellement le texte affichait a l'écran?
Quel est le code renvoyé quand tout se déroule bien?
D'avance merci.
PS Si vous avez une autre fonction mieux que exec pour recuperer les erreurs je suis preneur![]()
Partager