2013-04-08 223 views
0

我正在玩Raspberry Pi和anm Arduino shield以便通过Apache/PHP运行脚本。这个脚本简单地眨眼LED。我已经通过外壳测试了这个脚本,它的工作正常,使用命令Raspberry Pi无法执行PHP脚本

/root/arduPi/blink_test 

我能看到我的LED闪烁。于是我通过Apache PHP做同样的事情,与这短短的PHP脚本

<?php 
    if(isset($_GET['cmd'])){ 
     echo '/root/arduPi/'.$_GET['cmd']; 
     exec('/root/arduPi/'.$_GET['cmd']); 
    } 
?> 

,但没有发生,并且已经显示没有错误。

我测试的PHP代码

<?php 
    phpinfo(); 
?> 

和它的罚款。我该如何解决这个问题?

+3

很可能是因为它位于'root'文件夹中,并且php/apache用户无权访问它。 – Jon 2013-04-08 07:36:49

+2

你应该尝试[RaspberryPi.Se] – asheeshr 2013-04-08 07:39:24

回答

0

我曾经有过同样的问题,因为Apache没有权限访问Pi上的某些设备。我通过摆脱访问这些设备的根需求来解决这个问题。 HERE我的帖子是关于这个问题的解决方法是将sudo设置为无密码。 THIS是我用来完成设置sudo为无密码的。然后,您应该能够按如下方式执行脚本exec('sudo /root/arduPi/'.$_GET['cmd']);