Afficher l'execution d'un script bash sur page php

Afficher l'execution d'un script bash sur page php - PHP - Programmation

Marsh Posté le 28-04-2007 à 11:11:46    

Bonjour a tous,
j'ai une page php qui execute un script bash à l'aide de la commande "exec". J'aimerais que les infos renvoyées par le script bash (les echo, les erreurs, les resultats de commande dir, etc...) s'affiche également sur la page php. Savez vous svp comment faire ?  
j'ai mis le "2>&1" apres ma commande dans le exec. La page se charge longtemps pendant qu'elle execute le script, mais ca ne m'affiche que la derniere valeur renvoyée par le script.
J'aimerais qu'il m'affiche les infos renvoyées ligne apres ligne, comme si j'éxecutait le script en ligne de commande...
d'avance merci :whistle:
 

Reply

Marsh Posté le 28-04-2007 à 11:11:46   

Reply

Marsh Posté le 28-04-2007 à 11:26:44    

c'est possible ça ?


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 28-04-2007 à 13:32:12    

bah je sais pas qi c'est possible, mais en tout cas c'est ce qu'il m'arrive lol :D

Reply

Marsh Posté le 30-04-2007 à 12:33:37    

je pense pas que ca soit possible il va te renvoyer juste la derniere ligne.
 
Ou essaye en fesant comme ca:
exec("machin > bash.log" );
 
ensuite tu affiche juste ce qu'il y a dans le fichier bash.log

Reply

Marsh Posté le 30-04-2007 à 19:46:23    

Reply

Marsh Posté le 02-05-2007 à 09:03:37    

merci a tous, ca marche bien maintenant, meme si ca me met les commande exécutée sur un meme ligne, mais c'est pas grave :)

Reply

Marsh Posté le 02-05-2007 à 14:09:40    

J'ai encore une petite question, dont je n'ai pas trouvé la réponse dans la doc:
est-ce qu'il est possible de ne pas afficher le prompt, et aussi de ne pas afficher le résultat d'une commande sur un meme ligne ?
exemple, lorsque je fais "ls -l", sur ma page php j'ai:
fichier1 fichier2 etc...
au lieu de l'avoir de cette forme :
fichier1
fichier2
etc...
 
Peut etre que j'en demande trop lol, mais merci d'avance quand meme :)
 

Reply

Marsh Posté le 02-05-2007 à 14:37:37    

nl2br() non?
http://fr.php.net/nl2br


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 02-05-2007 à 14:44:10    

euh non, parce que c'est sur passthru ou exec qu'on doit jouer je pense...
J'ai essayé un truc comme ca:
ex:  
exec($commande, $var);
$ligne=explode(" ",$var);
for ($i=0;$i<sizeof($ligne);$i++) {
echo $ligne[$i];
}
mais ca ne me renvoi que Array :(

Reply

Marsh Posté le 02-05-2007 à 14:50:06    

A oui ok c'est un tableau donc un simple parcourt suffirait, non?
Quelque chose comme ça :

 
Code :
  1. exec($commande, $vars);
  2. foreach($vars as $var) echo $var."\r\n"; // Ou "<br />"


Message édité par dwogsi le 02-05-2007 à 14:51:01

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 02-05-2007 à 14:50:06   

Reply

Marsh Posté le 02-05-2007 à 14:56:47    

yep c bien vu merci beaucoup :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed