douzhi3779 2017-04-21 18:16
浏览 136

从php运行bash脚本

I have a raspberry pi connected to relay that switches lights. To switch the relay i use two bash scripts:

lighton.sh:

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

and lightoff.sh:

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

When I execute scripts from console it works perfect, but... When I try to execute them from web interface, only "lighton.sh" script works. Actually I have more scripts that I want to run but the only one working script is "lighton.sh". This is the code of 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>

I dont know why the only one script is working.

UPD: I have put buttons in different forms, but it still doesn't work. Sorry, i had a mistake in "codepasting" while i was writing this post(already corrected), but initial code is ok. So the problem is still actual.

UPD2: I have noticed that even if I put only one another button like:

<?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>

the button still doesn't work. Any other suggestions?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
    • ¥20 Java-Oj-桌布的计算
    • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
    • ¥20 有人知道这种图怎么画吗?
    • ¥15 pyqt6如何引用qrc文件加载里面的的资源
    • ¥15 安卓JNI项目使用lua上的问题
    • ¥20 RL+GNN解决人员排班问题时梯度消失
    • ¥60 要数控稳压电源测试数据
    • ¥15 能帮我写下这个编程吗
    • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路