我目前正在开发一个网页,我想在Button click事件上运行python脚本。我的python脚本在终端中正常工作,但我无法从PHP页面调用相同的脚本。
以下是我的PHP页面的代码。
<html>
<head>
<meta charset="UTF-8" />
</head>
<? php
print_r($_POST);
if (isset($_POST['ON']))
{
exec("sudo python /home/pi/Desktop/IOT/script5.py");
}
if (isset($_POST['OFF']))
{
exec("sudo python /home/pi/Desktop/IOT/script5a.py");
}
if (isset($_POST['1']))
{
exec("sudo python /home/pi/Desktop/IOT/script1.py");
}
?>
<form method="POST">
<button name="ON" value="Submit">turn On</button>
<button name="OFF">turn Off</button><br>
<button name="1">First</button><br>
</form>
</html>
答案 0 :(得分:0)
您需要传递密码才能使用sudo运行任何命令,您可以使用参数:
-S The -S (stdin) option causes sudo to read the password from
the standard input instead of the terminal device.
您可以使用它(替换为您的实际密码):
exec("echo <password> | sudo -S python /home/pi/Desktop/IOT/script1.py");
查找更多here