Bonjour a tous ,
j'utilise la fonction exec pour lancer des script bash a l'aide d'un boutton submit sur une page php.
Ces scripts doivent se connecter a un pc distant, executer une commande, et afficher les valeurs retournées sur la page php.
Seulement, les informations retournées par les scripts n'arrivent parfois pas en entier. Cela dépend de la commande que le script execute.
Par exemple, si le script bash execute la commande "dir /root", le php va m'afficher tout bien correctement.
Si le script envoi "ls /root/Desktop", le php va afficher que la moitier des valeurs retournées, desfois en s'arretant au milieu d'un mot.
Je précise que quand si j'execute le script 10 fois, le résultat est le meme.
Voici ma syntaxe pour exec:
Code :
- $command = "monscriptbash $mdpssh 2>&1";
- echo exec("$command",$cmd);
- foreach ($cmd as $output) {
- $ligne=explode("\r",$output);
- for ($i=0;$i<sizeof($ligne);$i++) {
- echo $ligne[$i]."<BR>";
- }
- }
|
Et voici ce que le php m'affiche pour certaines commandes:
[root@dh162 ~]# dir /root/Desktop
ajaxdiv.txt ks2.cfg~ script2
anaconda-ks.cfg ks3.cfg script2~
B_AFournir_fichiers ks3.cfg~ script3~
B_AFou
je n'ai pas la suite de la commande...
Pourriez vous m'aider svp ??? je bloque là, merci d'avance