我的问题是我在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使用树莓相机拍摄照片。非常感谢这里所有的海报。如果没有你的帮助,我不可能发现我的问题。