Exécuter une commande Unix dans un script php ?

Eléphanteau du PHP | 13 Messages

13 juin 2007, 15:22

Bonjour,

Je souhaite exécuter la commande suivante dans un script php :

top 50 | grep nom > monfichier.txt

J'ai essayé :
system('[top 50 | grep nom > monfichier.txt');
exec('[top 50 | grep nom > monfichier.txt',$sortie);

...mais ça ne fonctionne pas.
Quelqu'un peut-il m'aider :( ?
" A 1 erreur attribuée à l'ordinateur, il y a au moins 2 erreurs humaines, la première étant d'attribuer l'erreur à la machine. "

ViPHP
ViPHP | 4674 Messages

13 juin 2007, 16:09

Tiens c'est marrant, on dirait que la réponse est (encore et toujours) dans la documentation : CXXVIII. Exécution de programmes externes.

Il arrive que ces fonctions soient désactivées par l'hébergeur, pour des raisons de sécurité. Ce qui se comprend facilement.

Peut-on avoir ton erreur et au moins le nom de ton hébergeur ? :)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Eléphanteau du PHP | 13 Messages

13 juin 2007, 16:15

En fait, lorsque j'exécute le script ça me fait uniquement le top et j'ai pas de message d'erreur.
" A 1 erreur attribuée à l'ordinateur, il y a au moins 2 erreurs humaines, la première étant d'attribuer l'erreur à la machine. "

Mammouth du PHP | 1885 Messages

13 juin 2007, 16:26

La syntaxe de la commande ne semble pas bonne. J'ai cette erreur de mon côté:

Code : Tout sélectionner

# top 50 top: unknown argument '5' usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
Révise :)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphanteau du PHP | 13 Messages

15 juin 2007, 09:38

Dans le shell, la commande fonctionne correctement.
Par contre, je n'arrive pas à l'exécuter à partir d'un script php.
Si quelqu'un a une solution concrète...
" A 1 erreur attribuée à l'ordinateur, il y a au moins 2 erreurs humaines, la première étant d'attribuer l'erreur à la machine. "

Mammouth du PHP | 684 Messages

15 juin 2007, 10:31

J'ai la meme erreur que Xenon_54.
Tu es sous quelle distribution ?

Moi top reste en tache principale sans me rendre la main. Dans ce cas la je vois pas comment tu peux faire un | grep dessus.
Zigz4g

Mammouth du PHP | 1885 Messages

16 juin 2007, 05:51

J'ai la meme erreur que Xenon_54.
Tu es sous quelle distribution ?
CentOS
Moi top reste en tache principale sans me rendre la main. Dans ce cas la je vois pas comment tu peux faire un | grep dessus.
Exact. "ps" serait plus approprié.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP