Pipes et shell_exec

Eléphanteau du PHP | 17 Messages

27 août 2010, 06:41

Salut!!
le code suivant me retourne un résultat NULL et je sais pas pourquoi :( ??

Code : Tout sélectionner

$sortie=shell_exec('top | grep Cpu -m 1'); file_put_contents('sortie.txt',$sortie); $ligne=file('sortie.txt'); echo $ligne[0];
merci d'avance pour vos réponses

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 août 2010, 13:52

fait un
var_dump($sortie);
pour voir ce que te retournes réellement le shell_exec()
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 17 Messages

27 août 2010, 14:41

quand je mets var_dump($sortie) ,ça me rertourne NULL

Eléphant du PHP | 50 Messages

27 août 2010, 14:52

Bonjour,

En ligne de commande depuis ton shell que te retourne top | grep Cpu -m 1
?

ps : Il me semble que c'est case sensitive et donc CPU et pas Cpu (à confirmer ...)

Eléphanteau du PHP | 17 Messages

27 août 2010, 14:59

en ligne de commande ça me retourne le bon résultat

Eléphant du PHP | 50 Messages

27 août 2010, 15:10

Affiche tes erreur + wraning + notice
et quelle est la valeur de ton safe_mode ?

Eléphanteau du PHP | 17 Messages

27 août 2010, 15:13

aucune erreur ne s'affiche sur le browser. le safe-mode est à Off

Eléphant du PHP | 50 Messages

27 août 2010, 15:22

Aucune erreur même avec
error_reporting(-1);
?

Eléphanteau du PHP | 17 Messages

27 août 2010, 15:31

dans mon php.ini j'ai error_reporting = E_ALL je l'ai mis à -1 mais toujours ça m'affiche NULL

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 août 2010, 15:51

Essaye avec une commande plus simple, il y a peut être une histoire de problème de droits.

Tente d'exécuter le code suivant et dit nous ce qu'il en ressort :
$sortie = shell_exec('ls -lrt');
var_dump($sortie);
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 17 Messages

27 août 2010, 15:54

j'ai travaillé dèjà avec d'autres commandes et ça marche bien .par exemple j'ai essayé avec les commandes df et ps-f et grep

Eléphanteau du PHP | 17 Messages

27 août 2010, 18:55

j'ai testé une commande avec les pipes et ça marche.le problème vient de top ,et je sais pas comment le régler? :?

arkadih
Invité n'ayant pas de compte PHPfrance

08 oct. 2010, 13:50

salut,

le problème doit venir du fait que top est un programme intéractif.
essaie top -b, qui "fige" la sortie standard.

@+