Я пытаюсь запустить сценарий 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 works!';
}
он отлично работает, но shutdown now
ничего не делает.
PHP имеет разрешения на доступ к файлу и его выполнение.
РЕДАКТИРОВАТЬ: Благодаря Алехандро я смог решить проблему. Если у вас такая же проблема, не забывайте, что ваш веб-сервер, вероятно / надеюсь, не работает от имени пользователя root. Попробуйте войти в систему как пользователь вашего веб-сервера или пользователь с аналогичными разрешениями и попробуйте выполнить команды самостоятельно.