我正在开发一个带有覆盆子pi的项目,使用移动设备打开和关闭LED灯条。
我遇到的最后一个问题是让脚本从覆盆子pi托管的apache服务器运行。
<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.py");
}
if (isset($_POST['LightOFF'])) {
exec("sudo python /home/pi/lightOff.py");
}
?>
<form method="post">
<button class="btn" name="LightON">Light ON</button>
<button class="btn" name="LightOFF">Light OFF</button><br><br>
</form>
</html>
当在raspberry pi上运行命令行时,Python脚本可以正常工作。但是当在Apache服务器上运行时,没有任何反应。我在这做错了什么?它与权限有关吗?我对linux和php都很陌生,请记住这一点。
为什么Python在本地工作但不在服务器上工作?
谢谢!
答案 0 :(得分:1)
对于任何偶然发现此问题的人来说,只需在文件路径前添加sudo
即可解决问题。