php exec() 而不是 运行 通过 cron 作业
php exec() not running via a cron job
我已经为此苦苦思索了几个小时。
我正在通过 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
我曾尝试为要执行的 php 文件提供 755
和 777
权限,但没有成功。
这是我执行sudo crontab -e
时的结果
*/1 * * * * /usr/bin/php /var/www/check_time.php
如有任何帮助,我们将不胜感激。
提前致谢。
上线
exec('gpio write 7 0);
应该是
exec('gpio write 7 0');
? ' 似乎从未关闭。
您应该具体说明 gpio
的路径并给出确切位置,以便 cron 知道在哪里可以找到它,/usr/local/bin
不是由 cron 导入的:
/usr/local/bin/gpio
那么它将是:
exec('/usr/local/bin/gpio write 7 0);
我已经为此苦苦思索了几个小时。
我正在通过 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
我曾尝试为要执行的 php 文件提供 755
和 777
权限,但没有成功。
这是我执行sudo crontab -e
*/1 * * * * /usr/bin/php /var/www/check_time.php
如有任何帮助,我们将不胜感激。
提前致谢。
上线
exec('gpio write 7 0);
应该是
exec('gpio write 7 0');
? ' 似乎从未关闭。
您应该具体说明 gpio
的路径并给出确切位置,以便 cron 知道在哪里可以找到它,/usr/local/bin
不是由 cron 导入的:
/usr/local/bin/gpio
那么它将是:
exec('/usr/local/bin/gpio write 7 0);