所以我'm trying to run a bash script through a webpage using PHP, (on a raspberry pi if thats relevant). Ordinary commands work fine like ' ls'等 . 但是当试图从连接到Pi的网络摄像头拍照时,使用命令:'fswebcam image.jpg'它根本不起作用 .
我正在努力确定这个问题 . 它可能与权限有关吗?
直接通过终端拍照工作正常 .
编辑:
很抱歉在开始时不包括这些信息,但我对网络上的所有东西都很新...但我正在使用LEMP堆栈,所以我没有运行Apache但是使用Nginx
3 回答
PHP使用apache用户权限运行 .
您的apache用户是否有权启动fswebcam?
正如您所怀疑的那样,我认为您在raspberry Pi上遇到了硬件问题 . 作为主题混合raspberry / hardware / linux / web,你在互联网上阅读了许多垃圾解决方案;他们经常在各地提供root权限!
在您的情况下,我认为您的apache日志文件(
/var/log/apache2/error.log
?)将包含错误消息,类型:目前您的apache用户(www-data)无法访问它:
输入以下命令:
这意味着用户www-data将添加到组视频中(可以访问/ dev / vchiq) . 然后,您必须重新启动Apache服务器,以便重新读取组文件并获知更改 . 注意:如果必须从Web访问,您可以将www-data添加到gpio组 .
因此,根据我收到的错误消息(上面发布),我意识到/ dev / video0需要其他用户的权限 . 所以我的解决方案就是:
这可能是一个非常肮脏的解决方案,但仍然有效