Я пытаюсь запустить скрипт Python из PHP с помощью следующей команды:
exec("/usr/bin/python2.7 /srv/http/assets/py/switch .py arg1 arg2");
Однако PHP просто не производит никакого вывода. Для отчетов об ошибках установлено значение E_ALL, а функция display_errors включена.
Вот что я пробовал:
- Я использовал
python2
,/usr/bin/python2
иpython2.7
вместо/usr/bin/python2.7
- Я также использовал относительный путь вместо абсолютного, который тоже ничего не изменил.
- Я пробовал использовать команды
exec
,shell_exec
,system
.
Однако, если я запускаю
if (exec("echo TEST") == "TEST") { echo "exec работает !"; }
работает отлично, в то время как shutdown now
ничего не делает.
PHP имеет права доступа и выполнения файл.
EDIT: благодаря Алехандро я смог решить проблему. Если у вас такая же проблема, не забывайте, что ваш веб-сервер, вероятно/надеюсь, не работает с правами root. Попробуйте войти в систему как пользователь вашего веб-сервера или пользователь с аналогичными разрешениями и попробуйте выполнить команды самостоятельно.