[英]Trying to run a python script via PHP button hosted on raspberry pi but failing
我有一个php脚本,该脚本(我认为)应运行python脚本,以根据选择的按钮来控制Energenie无线电遥控插头插座。 似乎起作用的原因是,当按下按钮时它回显了正确的消息,但是python脚本似乎没有运行。 我添加了以下行:
www-data ALL = NOPASSWD:/ usr / bin / python /home/pi/lampon.py
至少应为apache用户赋予运行python脚本的权限,以打开电源插座,但这是行不通的。 通过pi命令行本身运行时,脚本本身可以运行。 有什么建议么? (PHP代码如下)
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>LED Control</title>
</head>
<body>
LED Control:
<form method="get" action="energenie.php">
<input type="submit" value="ON" name="on">
<input type="submit" value="OFF" name="off">
</form>
<?php
if(isset($_GET['on'])){
shell_exec("python /home/pi/lampon.py");
echo "LED is on";
}
else if(isset($_GET['off'])){
shell_exec("python /home/pi/lampoff.py");
echo "LED is off";
}
?>
</body>
</html>
您是否尝试过将lampoff.py
和lampon.py
的权限设置为777?
chmod 777 /home/pi/lampoff.py && chmod 777 /home/py/lampon.py
我认为您需要在Python脚本中添加“ sudo”才能使其正常工作,这意味着您必须将www-data用户添加到/ etc / sudoers中。
shell_exec("sudo python /home/pi/lampon.py");
要么
exec("sudo python /home/pi/lampon.py");
最近在Php的Execute Python脚本上还有另一篇关于这个的文章
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.