J'essaie d'exécuter un script Python à partir de PHP en utilisant la commande suivante:
exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2');
Cependant, PHP ne produit tout simplement aucune sortie. Le rapport d'erreur est défini sur E_ALL et display_errors est activé.
Voici ce que j'ai essayé:
- J'ai utilisé
python2
,/usr/bin/python2
etpython2.7
au lieu de/usr/bin/python2.7
- J'ai également utilisé un chemin relatif au lieu d'un chemin absolu qui n'a rien changé non plus.
- J'ai essayé d' utiliser les commandes
exec
,shell_exec
,system
.
Cependant, si je cours
if (exec('echo TEST') == 'TEST')
{
echo 'exec works!';
}
cela fonctionne parfaitement bien shutdown now
sans rien faire.
PHP a les autorisations pour accéder et exécuter le fichier.
EDIT: Grâce à Alejandro, j'ai pu résoudre le problème. Si vous rencontrez le même problème, n'oubliez pas que votre serveur Web ne fonctionnera probablement pas en tant que root. Essayez de vous connecter en tant qu'utilisateur de votre serveur Web ou en tant qu'utilisateur avec des autorisations similaires et essayez d'exécuter les commandes vous-même.