PHP:python 脚本的执行在 Raspberry PI 2 上不工作

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

我的问题是我的 RaspPI 的 Webspace 文件夹中有一个 python 脚本,我的 PHP 脚本应该调用但没有调用。 我已经为所有人设置了 python 文件权限。 但我仍然无法让它工作。 我尝试了几种解决方案,但其中 none 对我有所帮助。 这是我到目前为止所做的:

index.htm

<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 文件夹提供完整的 write/read 和执行权限。 这是通过键入:


sudo chmod 777 /var/www
须藤 chmod 777 /dev/vchiq


进入Shell命令行 也许您需要通过键入

来获得 root 权限

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 使用 raspberry cam 拍照。 非常感谢这里的所有海报。 没有你的帮助,我永远不会发现我的问题。