Я пытаюсь запустить сценарий 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. Попробуйте войти в систему как пользователь своего веб-сервера или как пользователь с аналогичными разрешениями и попробуйте выполнить команды самостоятельно.