Probleme avec shell_exec

Petit nouveau ! | 4 Messages

18 juin 2007, 11:55

Bonjour,

voila mon probleme: je souhaite depuis une page en php faire un httpd graceful sur mon serveur apache

voila la ligne dans mon php
$output = shell_exec('sudo /etc/init.d/httpd graceful'); //on rafraichi les regles de httpd
echo "<pre>$output</pre>";
et voila la ligne dans mon visudo
apache ALL=(ALL) NOPASSWD: /etc/init.d/httpd graceful
le probleme est que cela ne fonctionne pas, mon safe_mode est a off donc ca ne coince pas de ce cote et mon utilisateur apache est bien proprietaire de la page donc je ne pense pas que le probleme vienne de la non plus :?

est que quelqu'un aurait une idee ou aurai deja ete confronte au meme probleme que moi ?

Merci d'avance
Kulgan

Mammouth du PHP | 684 Messages

18 juin 2007, 13:11

Salut.

Que donne la sortie de la commande shell_exec ?
Y a t il des logs dans /var/log/ de la commande sudo ?
Zigz4g

Petit nouveau ! | 4 Messages

18 juin 2007, 14:17

Salut zigz4g,

alors la commande shell exec ne donne rien, je n'ai pas de log lie a sudo mais si je mets mon apache en mode Debug je vois une ligne dans le error_log qui me demande un password (je pense que c'est celui de sudo) mais normalement en ayant marque dans mon sudoers NOPASSWD pour l'utilisateur apache il ne devrait pas me le demander si je ne me trompe non ?

Mammouth du PHP | 684 Messages

18 juin 2007, 14:21

essaye en te connectant a ton serveur avec le login apache. Si il refuse passe par le root pour te loguer en apache.
Lance la commande dans un terminale et regarde se qu'il te retourne.
Zigz4g

Petit nouveau ! | 4 Messages

18 juin 2007, 14:30

[root@localhost httpd]# su apache
bash-3.00$ pwd
/var/log/httpd
bash-3.00$ whoami
apache
bash-3.00$ sudo /usr/sbin/apachectl graceful
Password:
bash-3.00$
c'est bien ce que je pensais il me demande de rentrer un mot de passe pour effectuer ma commande (bien que le mot de passe soit blanc et qu'un simple appui sur entrée suffise) mon probleme doit venir du sudoers je pense

[EDIT]

Ca y est c'est bon c'etait bien un probleme dans mon sudoers, voila a quoi doit ressembler la ligne si qqun est un jour confronter au meme probleme
%apache ALL=(ALL) NOPASSWD: /etc/init.d/httpd graceful
En tout cas merci de ton aide Zigs4g

Bonne journee a tous

[/EDIT]

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 juin 2007, 15:11

Modération :
Kulgan, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 4 Messages

18 juin 2007, 15:15

Ca a ete fait ryle, aucun problemes :wink: