php exec()没有通过cron作业运行

时间:2016-02-16 05:29:21

标签: php bash cron raspberry-pi gpio

我几个小时以来一直在反对这个问题。

我正在通过cron作业执行php脚本,除exec()方法外,脚本中的所有内容都有效。

<?php
    exec('gpio write 7 0');

    // Open the file to get existing content
    $current = file_get_contents('log.txt');

    // Append a new person to the file
    $current .= get_current_user().' - '.date('H').":".date('i')." - gpio write 7 0\n";

    // Write the contents back to the file
    file_put_contents($log, $current);
?>

如果我直接从终端执行php脚本,它可以与pi用户和root用户一起使用。

当cron作业运行时写入log.txt文件的数据对我来说很好,下面是样本:

root - 00:16 - gpio write 7 0
root - 00:17 - gpio write 7 0
root - 00:18 - gpio write 7 0
root - 00:19 - gpio write 7 0

我已经尝试过提供同时执行755777权限的php文件。

这是我执行sudo crontab -e

时所拥有的
*/1 * * * * /usr/bin/php /var/www/check_time.php

非常感谢任何帮助。

提前致谢。

2 个答案:

答案 0 :(得分:3)

您应该明确gpio的路径并提供确切的位置,以便cron知道在哪里找到它,/usr/local/bin不会被cron导入:

/usr/local/bin/gpio

那么它将是:

exec('/usr/local/bin/gpio write 7 0);

答案 1 :(得分:0)

就行了

exec('gpio write 7 0);

应该是

exec('gpio write 7 0');

?似乎'从未关闭过。