gpt4 book ai didi

php - 从 php 调用时,将 RPi.GPIO 导入为 GPIO 在 python 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:15 25 4
gpt4 key购买 nike

我遇到了和这个问题一样的问题, python import fails when called from PHP但现在是我的另一个导入。

脚本在命令行 (python uit.py) 和一个 test.py whic 说 'hello' 也可以工作,但是当 uit.py(下面的源代码)是从 php 调用的,它不起作用。我得到的只是返回代码 1,我尝试了 exec()、passthru() 和 system(),但除了“1”之外,它们都没有返回任何内容我是 linux 和 python 的新手,所以我不知道如何将路径设置为直接导入而不是相对路径(如果有帮助的话)

#!/usr/bin/python
# Hello world python
import RPi.GPIO as GPIO
print "Start";

GPIO.setmode(GPIO.BOARD);
GPIO.setup(16, GPIO.OUT)
GPIO.output(16, True)

print "Licht uit";

编辑:我现在注意到的是,当来自命令行的脚本时,我必须 sudo 它因为脚本说它想以 root 运行(当我收到错误时我不以 root 身份运行它说“也许以 root 身份运行?”。

这会是不工作的原因吗? python 脚本是在用户 PHP 运行时从 PHP 调用的吗?

我确实用 sudo 执行了语句(见评论),但我也读到可能不允许 php 用户 sudo

最佳答案

What i noticed now, is that when the script from the command line, i have to sudo it because the script says it wants to run as root (i get an error when i don't run it as root saying 'maybe run as root?'.

Can that be the reason for not working? That the python script gets called from PHP as the user PHP is running under?

是的,那是你的问题。 Web 服务器以 www-data 运行,而不是以 root 身份运行。 (默认情况下,该用户甚至没有 sudo 访问权限。)如果您检查 Web 服务器错误日志,您可能会看到“也许以根用户身份运行?”那里有错误信息。

关于php - 从 php 调用时,将 RPi.GPIO 导入为 GPIO 在 python 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14592826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com