Я пытаюсь запустить Python script из 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 есть разрешения на доступ и выполнение файла.
EDIT: Благодаря Алехандро, я смог решить проблему. Если у вас есть такая же проблема, не забывайте, что ваш веб-сервер, вероятно, не работает с правами root. Попробуйте войти в систему как пользователь вашего веб-сервера или пользователь с аналогичными разрешениями и попробуйте сами выполнить команды.