【发布时间】:2018-10-04 02:53:24
【问题描述】:
此 PHP 代码应在保存在 $start 变量和 $end 变量中保存的时间启动一个 shell 脚本。所有文件都是chmod a+rwx。它适用于命令行但不适用于shell_exec(),$start 和$end 变量的时间格式也正确hh:mm。我发现这个other Post 有人遇到了类似的问题,但那里的帖子对我没有任何帮助。
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 />";
}
}
【问题讨论】:
-
首先启用错误报告并查看您的日志。您可能还想添加一些
else{}并查看它的去向。 -
`echo "$start"。 "
";'每次都会执行,所以 'else{}' 是无用的,但你在日志文件中是对的,它说“你无权使用 at”。 .我给了 .sh 和 .php 文件“a+rwx”的权利,你知道我错过了什么吗? -
我在阅读时犯了一个错误,日志文件很旧,所以这不是问题
-
@mario 我检查了您链接的帖子中的每个答案,但这些都不起作用