如果我像这样简单地运行它,我有一个 PHP 脚本在命令行上运行得非常好php /path/to/script/script.php
。如果我现在在 cron 中使用这个命令crontab -e
并添加以下行:
*/1 * * * * php /path/to/script/script.php 2>&1 >> /var/log/logfile.log
它确实按预期每分钟执行一次,并且所有输出都被放入日志文件中,就像在命令行上运行它一样。但是脚本的某些部分似乎不起作用。这些特定部分是类似的行:
system('mkdir /mnt/temp', $retVal);
或者
exec('mkdir /mnt/temp');
我已经尝试了所有可能的事情,比如以 root 身份运行它,对所有受影响的脚本和文件夹的权限,使用/bin/mkdir
而不是mkdir
. system() 的返回值是 0 用于在 CLI 上运行它,1 用于 crontab 方式。
有什么建议么?