У меня Raspberry Pi с сервером Apache (PHP5). Я получил код для управления моим релейным модулем, но PHP не выполняет скрипт Python.
Это код:
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<?php
if (isset($_POST['LightON']))
{
exec("sudo python /home/pi/lighton_1.py");
}
if (isset($_POST['LightOFF']))
{
exec("sudo python /home/pi/lightoff_1.py");
}
?>
<form method="post">
<button class="btn" name="LightON">Light ON</button>
<button class="btn" name="LightOFF">Light OFF</button><br><br>
</form>
</html>
Посмотри в свой php.ini
если exec()
включен. Если это не так, раскомментируйте его и перезапустите процесс PHP (и, возможно, apache тоже)
РЕДАКТИРОВАТЬ:
После отправки правки я заметил, что вы используете sudo
в вашем PHP exec()
заявление. Это не работает, если ваш пользователь root защищен паролем (что на самом деле должно!).
Вы должны попробовать использовать shell_exec
команда вместо этого, она работает для меня, и у меня такая же настройка.