PHP et shell_exec, sh: can't open script.sh

david -  
 david -
Bonjour,

J'ai besoin d'utiliser du bash sur mon serveur et de lancer une commande, ironie du sort shell_exec fontionne pas:

<?php
    $output=shell_exec('wireshark 2>&1');
    echo '<pre>'.$output.'</pre>';
?>


donne en output:
sh: Can't open wireshark



Comment se fait-il que ça ne marche pas?



A voir également:

5 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
préciser le chemin
$output=shell_exec('/chemin/wireshark 2>&1');
0
david
 
J'ai essayer; mais je tente ça mais ça ne marche pas non plus, j'ai donc testé autre chose en appelant directement usr/sbin et je tombe sur ça:
permission denied
0
gonzo47 Messages postés 186 Date d'inscription   Statut Membre Dernière intervention   15
 
Bonjour,
y aurai pas un soucis de droit ?
0
david
 
Je suis en root pourtant quand j'appelle la commande en PHP
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
as-tu essayé ça ?
$output=shell_exec('/usr/sbin/wireshark 2>&1');
0
david
 
Oui et /usr/sbin me renvoi le permission denied :(
0
david
 
Re alors voila le résultat de la commande:

drwxr-sr-x 2 root root 16384 2012-08-16 20:56 /usr/sbin
-rwxr-sr-x 1 root root 29092 2009-10-12 17:47 /usr/sbin/wireshark



Les droits on l'air bon pourtant, mais php refuse de le lancer alors qu'en console ça merche.
0
david
 
J'ai ça maintenant:
Run it as root


Je rappelle que je suis bien en root, j'utilise le bash via une page php, la commande s'éxécute quand l'utilisateur appui sur un bouton.Ma page php appelant la commande bash est donc dans /var/www.

Un truc a faire que j'aurais oublier?
0
david
 
Bon alors j'ai rajouter un sudo devant /usr/sbin et ça ma enlever le "run it as root" le problème c'est que la commande ne fait rien non plus, voila mon fichier error.log peut-etre que ca vous parlera plus qu'a moi:

root@host-laptop:/var/www# tail /var/log/apache2/error.log
[Sun Aug 26 13:09:24 2012] [error] [client 127.0.0.1] PHP Fatal error:  Only variables can be passed by reference in /var/www/test/traitement.php on line 2, referer: http://127.0.0.1/test/discovery.php
[Sun Aug 26 13:17:09 2012] [error] [client 127.0.0.1] PHP Warning:  shell_exec() expects exactly 1 parameter, 2 given in /var/www/test/traitement.php on line 2, referer: http://127.0.0.1/test/discovery.php



Voila mon code traitement.php

<?php
$output = shell_exec("sudo /usr/sbin/macommande");
echo "<pre>$output</pre>";
?>



Une idée, c'est du chinois pour moi ça :/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
david
 
??
0