PHP:python脚本的exec不能在Raspberry PI 2上运行

时间:2015-08-21 20:33:22

标签: php python raspberry-pi2

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

的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.';
    }
    ?>

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

谢谢!

2 个答案:

答案 0 :(得分:0)

  • 确保您的文件具有执行权限@interface MyViewController @property (nonatomic, assign) BOOL showButton; @end @implementation @synthesize showButton = _showButton; -(void)viewDidLoad { [super viewDidLoad]; if (_showButton) { //show button } } @end
  • 相反,您可以致电chmod a+x /var/www/photoburst.py并查看是否有效

你在运行什么Linux? Raspbian? N00bs?

答案 1 :(得分:0)

对于遇到同样问题的每个人:这是解决方案: 首先,您需要为相机模块和var / www文件夹提供完整的写入/读取和执行权限。 这可以通过输入:

来完成

sudo chmod 777 / var / www
sudo 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使用树莓摄像头拍照。 非常感谢这里的所有海报。 没有你的帮助,我永远不会发现我的问题。