繁体   English   中英

尝试通过树莓派上托管的PHP按钮运行python脚本,但失败

[英]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.pylampon.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM