我几个小时以来一直在反对这个问题。
我正在通过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
我已经尝试过提供同时执行755
和777
权限的php文件。
这是我执行sudo crontab -e
*/1 * * * * /usr/bin/php /var/www/check_time.php
非常感谢任何帮助。
提前致谢。
答案 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');
?似乎'从未关闭过。