- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
更新:
在评论中提出建议后,我找到了我的 error.log (/var/log/apache2/error.log):
Traceback (most recent call last):
File "/var/www/html/nano.py", line 7, in <module>
GPIO.setup(17,GPIO.OUT)
RuntimeError: No access to /dev/mem. Try running as root!
我通过添加 sudo 解决了我的问题:
<?php
echo exec("sudo /usr/bin/python /var/www/html/nano.py");
?>
但是我还是不明白。当我从网络服务器调用 nano.py 时,我需要将其作为 sudo 运行,但是当我从终端(作为 pi 用户)运行 nano.py 时,我不必将其作为 sudo 运行。我以为我在编辑 sudoers 时授予了 apache root 访问权限。
谁能解释一下这个?这安全吗? (我的 apache 服务器目前只能通过我自己的 wifi 网络访问)
<小时/>我知道这个问题已经被问过并回答过很多次,但我已经尝试了我能找到的所有解决方案,但我仍然无法从我的 PHP 网页执行我的 script.py。
我的 apache 服务器也工作正常(如果需要,我可以显示文本)
nano.py 脚本:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(17,GPIO.OUT)
print "LED on"
GPIO.output(17,GPIO.HIGH)
time.sleep(1)
print "LED off"
GPIO.output(17,GPIO.LOW)
我有一个名为 nano.py 的 python 脚本,位于:/var/www/html/nano.py(-rwxrwxrwx 1 pi www-data 236 Jan 26 13:12 nano.py)和/home/pi/nano.py(-rwxr-xr-x 1 pi pi 225 Jan 26 13:19 nano.py)脚本都是相同的:
<?php
echo shell_exec("python /var/www/html/nano.py");
?>
我尝试了很多方法,但无法从我的 PHP 页面执行 nano.py:
我尝试授予 apache sudo 访问权限:
www-data ALL=(ALL) NOPASSWD:ALL
我真的不知道我还有什么其他选择,所以我希望有人能帮助我。
最佳答案
尝试
<?php
echo shell_exec("/usr/bin/python /var/www/html/nano.py");
?>
很可能找不到您的 python 二进制文件。还要确保这些功能没有被您的 php.ini 阻止。
如果这不起作用,/var/log/apache2/error.log 可以告诉您有关该错误的更多信息。
关于php - 树莓派 : Can't execute script. py 来自 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35016098/
我是一名优秀的程序员,十分优秀!