Ich versuche, ein Python-Skript von PHP aus mit dem folgenden Befehl auszuführen:
exec("/usr/bin/python2.7 /srv/http/assets/py/switch .py arg1 arg2");
Jedoch erzeugt PHP einfach keine Ausgabe. Die Fehlerberichterstattung ist auf E_ALL eingestellt und display_errors ist aktiviert.
Hier ist, was ich versucht habe:
- Ich habe
python2
verwendet,/usr/bin/python2
undpython2.7
statt/usr/bin/python2.7
- Ich habe auch eine relativer Pfad anstelle eines absoluten Pfads, der auch nichts geändert hat.
- Ich habe es mit den Befehlen
exec
,shell_exec
,system< versucht /code>.
Wenn ich jedoch
if (exec("echo TEST") == "TEST") { echo "exec funktioniert !"; }
es funktioniert einwandfrei, während shutdown now
nichts bewirkt.
PHP hat die Berechtigungen zum Zugriff und zur Ausführung die Datei.
EDIT: Dank Alejandro konnte ich das Problem beheben. Wenn Sie das gleiche Problem haben, vergessen Sie nicht, dass Ihr Webserver wahrscheinlich/hoffentlich nicht als Root läuft. Versuchen Sie, sich als Benutzer Ihres Webservers oder als Benutzer mit ähnlichen Berechtigungen anzumelden, und versuchen Sie, die Befehle selbst auszuführen.