从ApacheLaravel PHP控制器在Raspberry PI上执行python脚本

从ApacheLaravel PHP控制器在Raspberry PI上执行python脚本,php,python,linux,laravel,raspberry-pi,Php,Python,Linux,Laravel,Raspberry Pi,我在/home/pi/Test.py中的树莓上有一个python脚本,可以从laravel php控制器调用它 在Raspberry上安装了Raspian、Apache、PHP7.3和Python 我通过cmdline试过了 python Test.py 4444>有效 通过本地php服务器 php artisan serve /localhost:8000/setValue/666>有效,返回值为0 然后我将应用程序部署到Apache2目录 /var/www/html/Project 在

我在/home/pi/Test.py中的树莓上有一个python脚本,可以从laravel php控制器调用它

在Raspberry上安装了Raspian、Apache、PHP7.3和Python

我通过cmdline试过了

python Test.py 4444>有效

通过本地php服务器

php artisan serve 
/localhost:8000/setValue/666>有效,返回值为0

然后我将应用程序部署到Apache2目录

/var/www/html/Project
在那里我又打了一次电话

localhost:80/Project/setValues/666 > nothing, returnvalue 1
这是我的密码

chdir('/home/pi');
$cmd('python Test.py ' . $param);
exec($cmd,$out,$status);
return $status
从php调试服务器执行此操作将从apache“1”返回“0”

我试过了

exec ()
shell_exec()
passthrough()
一切都一样-从本地服务器工作,而不是从apache

在python脚本和laravel项目中,我将所有者更改为www数据,并将权限更改为775,我还以sudoer的身份添加了www数据,但没有任何效果

我认为is必须对可执行权限做些什么,但还能做什么呢

编辑: 我在Apache error.log中发现了一条注释

GPIO.setup(数据,GPIO.OUT) RuntimeError:未在RPi上运行


似乎www数据无法访问GPIO设置,用户“pi”虽然可以,这意味着-如何使www数据具有与用户“pi”相同的权限?

经过数小时的努力,我找到了答案:

首先,将www数据添加到gpio组

>sudo adduser www-data gpio > not working
然后我升级了固件

> sudo rpi-update
最后,它在Apache服务器上工作。多亏了这个帖子 这个用户成功了。非常感谢