Я пытаюсь запустить скрипт Python из PHP с помощью следующей команды:Запуск сценария 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 есть разрешения на доступ и выполнение файла.
EDIT: Благодаря Алехандро, я смог исправить проблему. Если у вас есть такая же проблема, не забывайте, что ваш веб-сервер, вероятно, не работает с правами root. Попробуйте войти в систему как пользователь вашего веб-сервера или пользователь с аналогичными разрешениями и попробуйте сами выполнить команды.
Спасибо, что сделал трюк! Возникла еще одна проблема: пользователь Apache не смог выполнить команду в скрипте Python, но я смог исправить это, используя sudo и добавив исключение для моего скрипта в файл sudoers. Еще раз спасибо! :) –
Я столкнулся с такой же проблемой пользователя apache, можете ли вы мне помочь? – Emma
Я использовал ваш ответ, он отлично выполняет скрипт python, но я не могу повторить результаты, которые ничего не отображаются на веб-странице, вы можете мне помочь. –