PHP: python脚本的执行不能在树莓派2上工作


PHP: exec of python Script not working on the Raspberry PI 2

我的问题是我在RaspPI的Webspace文件夹中有一个python脚本,我的PHP脚本应该调用,但它没有。我已经为每个人设置了python文件权限。但我还是不能让它工作。我尝试了几种方法,但没有一种对我有用。以下是我目前所做的:

<html>
<body>
<form action="photo.php" method="post">
<input type="submit" value="Take photo" name="test">
</form>
</body>
</html>

photo.php

    if(isset($_POST['test']))
    {
    shell_exec('/var/www/photoburst.py');

    echo'photo saved';

    }
    else 
    {
    echo'Error.';
    }
    ?>

我找不到任何错误,所以请帮我解决这个问题。

谢谢!

  • 确保你的文件有执行权限chmod a+x /var/www/photoburst.py
  • 你可以调用/usr/bin/python /var/www/photoburst.py,看看是否有效

你在用什么Linux ?Raspbian吗?是N00bs吗?

对于每个人都有同样的问题:这是解决方案:首先,你需要给相机模块和var/www文件夹完整的写/读和执行权限。可以输入:


sudo chmod 777/var/www
Sudo chmod 777/dev/vchiq


到Shell命令行中也许你需要通过输入

来获得根权限

sudo bash


下一件事是将图像保存路径文件夹更改为var/www,因为现在可以完全访问。

完成后,您需要像这样修改photo.php

<?php

if(isset($_POST['test']))
{
$command = escapeshellcmd('/var/www/photoburst.py');
 $output = shell_exec($command);
  echo $output;

echo'Saved!';

}
else 
{
echo'No Info submitted from the form.';
}
?>

最后一件事是告诉python文件,我们现在是一个带有shebang行的python文件:完成后,photoburst.py看起来应该类似于下面这个:

#!/usr/bin/python
import time
import picamera
import datetime
camera=picamera.PiCamera()


camera.capture('/var/www/'+datetime.datetime.now().strftime("IMG %T%B%d%Y")+'.jpg')
camera.close()

因此,如果您按照这些步骤操作,您可能能够通过PHP使用树莓相机拍摄照片。非常感谢这里所有的海报。如果没有你的帮助,我不可能发现我的问题。