首页 文章

Bash脚本虽然网页拍照

提问于
浏览
2

所以我'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 回答

  • 0

    PHP使用apache用户权限运行 .

    您的apache用户是否有权启动fswebcam?

    ll $(which fswebcam)
    
  • 0

    正如您所怀疑的那样,我认为您在raspberry Pi上遇到了硬件问题 . 作为主题混合raspberry / hardware / linux / web,你在互联网上阅读了许多垃圾解决方案;他们经常在各地提供root权限!

    在您的情况下,我认为您的apache日志文件( /var/log/apache2/error.log ?)将包含错误消息,类型:

    can not access /dev/vchiq
    

    目前您的apache用户(www-data)无法访问它:

    pi$ ls -l /dev/vchiq
    crw-rw---T 1 root video 248, 0 Jan  1  1970 /dev/vchiq
    

    输入以下命令:

    sudo usermod -a -G video www-data
    sudo /etc/init.d/apache2 restart
    

    这意味着用户www-data将添加到组视频中(可以访问/ dev / vchiq) . 然后,您必须重新启动Apache服务器,以便重新读取组文件并获知更改 . 注意:如果必须从Web访问,您可以将www-data添加到gpio组 .

  • 2

    因此,根据我收到的错误消息(上面发布),我意识到/ dev / video0需要其他用户的权限 . 所以我的解决方案就是:

    chmod 777 /dev/video0
    

    这可能是一个非常肮脏的解决方案,但仍然有效

相关问题