Bonjour,
Je voudrais utiliser la fonction exec() qui appel un script.sh sur une page php avec apache sous centos7.
Après la visite de multiples forums et tutoriels je n'arrive toujours pas régler mon problème.
La fonctionfonctionne. C'est à dire qu'il me liste le contenu de unfichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?php $variable = shell_exec('ls /unfichier/'); echo "<pre>$variable</pre>"; ?>
Mais dès lors que je veux faire appel à un script plutôt qu'une ligne de commande plus rien ne se passe.
J'ai déjà joué avec le fichier sudoers pour donner les droits d’exécutions à l'utilisateur apache qui est l'utilisateur qui lance httpd sur centos7 (si je ne dis pas de bêtises).
Et j'ai déjà désactivé SELinux ainsi que tester avec les accès 777 et 755 au script.sh.
Tout en lançantou encore simplement
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?PHP exec('sudo -u apache /chemin/vers/mon/script.sh'); ?>
ou encore car le script et le page sont dans le même fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php exec ('/chemin/vers/mon/script.sh'); ?>
Et j'en passe ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php exec('./script.sh')
Mais je n'arrive toujours pas à lancer un script .sh via la page.php.
Quelqu'un connaitrais une méthode pour faire fonctionner un script avec exec() via une page php ? Ou si j'ai fais une faute de syntaxe ou si il y a un autre moyen de lancer un script via une page php ?
Je suis ouvert à toutes propositions.
PS : j'utilise PHP 5.4.16 il n'y a donc pas de php_safemod et je n'a pas interdit exec ou shell_exec() dans php.ini
Merci d'avance.
Partager