在特定时间使用PHP执行shell脚本

在特定时间使用PHP执行shell脚本,php,linux,shell,Php,Linux,Shell,此PHP代码应在$start变量中保存的时间和$end变量中保存的时间启动shell脚本。所有文件都是chmoda+rwx。它在命令行上工作,但不在shell_exec()中工作,$start和$end变量的时间格式正确hh:mm。我在wich发现有人也有类似的问题,但那里的帖子对我没有帮助 if ($_POST["device"] == "Ventilator") { $start = $_POST["start"]; $end = $_POST["end"]; if

此PHP代码应在
$start
变量中保存的时间和
$end
变量中保存的时间启动shell脚本。所有文件都是
chmoda+rwx
。它在命令行上工作,但不在
shell_exec()
中工作,
$start
$end
变量的时间格式正确
hh:mm
。我在wich发现有人也有类似的问题,但那里的帖子对我没有帮助

if ($_POST["device"] == "Ventilator") {
    $start = $_POST["start"];
    $end = $_POST["end"];

    if ($_POST["start"] != "0") {
        shell_exec('echo "/home/pi/IOT/gpio21high.sh" | at $start');
        echo "$start".
        "<br />";
    }

    if ($_POST["end"] != "0") {
        shell_exec('echo "/home/pi/IOT/gpio21low.sh" | at $end');
        echo "$end".
        "<br />";
    }

}
if($\u POST[“设备”]=“呼吸机”){
$start=$_POST[“start”];
$end=$_POST[“end”];
如果($_POST[“开始”!=“0”){
shell|exec('echo”/home/pi/IOT/gpio21high.sh“| at$start”);
回显“$start”。
“
”; } 如果($_POST[“end”]!=“0”){ shell_exec('echo”/home/pi/IOT/gpio21low.sh“| at$end”); 回显“$end”。 “
”; } }
将其作为Cron作业执行可能是一个好主意,您可以按设定的时间间隔等方式执行它


希望这有帮助,谢谢,

首先启用错误报告并查看日志。您可能还想添加一些
else{}
并查看它们的位置。另请参见'echo'$start'。“
;”每次都被执行,所以'else{}'是无用的,但是您在日志文件中是正确的,它说“您没有在处使用的权限”。我给了.sh和.php文件“a+rwx”权限,你知道我遗漏了什么吗?我在阅读时犯了一个错误,日志文件是旧的sry,所以这不是problem@mario我检查了你链接的帖子中的每一个答案,我认为这些工作都不适合作为cron作业,因为脚本本身在cronjobs中安排了“at”。