я пытаюсь выполнить эту команду PHP:Выполнить Python с PHP
$result = exec("sudo python /home/pi/test.py",$output, $ret);
var_dump($result);
echo "<br>";
var_dump($output);
echo "<br>";
var_dump($ret);
Эта команда отлично работает на Linux Terminal, но с PHP не работает.
Здесь результат на странице PHP:
string(0)
array(0) { }
int(9)
Я проверил процесс с ps -ef
, ничего не появляется.
Вы выполняете это в браузере? Если да, то apache (вероятный пользователь, выполняющий php) имеет права sudo без пароля? – kainaw
Вышеприведенный код, вероятно, выполняется пользователем 'www-data' или чем-то аналогичным (варьируется между дистрибутивами) - разрешен ли пользователь выполнять' sudo'? Редактировать: @kainaw избили меня буквально 5 секунд :) –
@kainaw Да, я выполняю это с помощью веб-браузера. Уже сделано, я изменил файл/etc/sudoers, добавив эту строку: www-data ALL = (ALL) NOPASSWD: ALL – Bacara