从php运行bash脚本

时间:2017-04-21 18:16:31

标签: php linux bash shell

我有一个覆盆子pi连接到继电器,可以切换灯光。 要切换中继,我使用两个bash脚本:

lighton.sh

#!/bin/bash
echo 24 > /sys/class/gpio/export
gpio export 24 out

lightoff.sh

#!/bin/bash
echo 24 > /sys/class/gpio/unexport

当我从控制台执行脚本时,它工作得很完美,但...... 当我尝试从Web界面执行它们时,只有“ lighton.sh ”脚本才有效。实际上我有更多我想要运行的脚本,但唯一一个工作脚本是“ lighton.sh ”。 这是 index.php

的代码
<?php
if( isset( $_POST['lightOn'] ) )
{
    exec ('bash /absolute-path-to-script/lighton.sh');
}

if( isset( $_POST['lightOff'] ) )
{
    exec ('bash /absolute-path-to-script/lightoff.sh');
}
?> 

<form method="POST">
    <input name="lightOn" type="submit" value="Turn ON" />
    <input name="lightOff" type="submit" value="Turn OFF" />
</form>

我不知道为什么只有一个脚本正在运行。

UPD:我把按钮放在不同的形式,但它仍然不起作用。 对不起,我在撰写这篇文章时已经“编码”了一个错误(已经更正),但初始代码还可以。所以问题仍然存在。

UPD2:我注意到即使我只放了一个按钮,如:

<?php
if( isset( $_POST['lightOn'] ) )
{
    exec ('bash /absolute-path-to-script/lightoff.sh');
}
?> 

<form method="POST">
    <input name="lightOff" type="submit" value="Turn OFF" />
</form>

按钮仍无法使用。还有其他建议吗?

0 个答案:

没有答案