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 suivante
tar cvzf test.tgz
est fausse et me renvoye

tar: Cowardly refusing to create an empty archive
Try `tar --help' or `tar --usage' for more information.
lorsque je l'execute manuellement.
Par contre lorsque je la fais executer par exec j'obtiens ca:

(fichier de test de differente fonction php)
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;
M'affiche

ma commandetar cvzf test.tgz
fini exe requete
*************

Array ( )
**************

exec 2
**************

**************

passthru 2
Alors j'ai bien un numéro d'erreur renvoyé mais je ne sais pas a quoi il correspond.
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