Ich versuche, ein Python-Skript über PHP mit dem folgenden Befehl auszuführen:
exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2');
PHP erzeugt jedoch einfach keine Ausgabe. Die Fehlerberichterstattung ist auf E_ALL gesetzt und display_errors ist aktiviert.
Folgendes habe ich versucht:
- Ich verwendet
python2
,/usr/bin/python2
undpython2.7
statt/usr/bin/python2.7
- Ich habe auch einen relativen Pfad anstelle eines absoluten Pfads verwendet, der auch nichts geändert hat.
- Ich habe versucht , die Befehle
exec
,shell_exec
,system
.
Allerdings, wenn ich renne
if (exec('echo TEST') == 'TEST')
{
echo 'exec works!';
}
es funktioniert einwandfrei, shutdown now
macht aber nichts.
PHP hat die Berechtigung, auf die Datei zuzugreifen und sie auszuführen.
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 ausgeführt wird. Melden Sie sich als Benutzer Ihres Webservers oder als Benutzer mit ähnlichen Berechtigungen an und versuchen Sie, die Befehle selbst auszuführen.