我可以从CLI运行此命令,在fedora框上没有问题,但不能从Cron运行:
/usr/bin/php /var/www/support_web/api/cron.php这是cron输出:
命令/usr/bin/php /var/www/support_web/api/cron.php的输出。
77
文件具有执行权限。
Crontab日志:
Jun 11 11:46:20 www crontab[23453]: (root) BEGIN EDIT (root)
Jun 11 11:46:21 www crontab[23453]: (root) REPLACE (root)
Jun 11 11:46:21 www crontab[23453]: (root) END EDIT (root)
Jun 11 11:47:01 www crond[2479]: (*system*) WRONG FILE OWNER (/etc/crontab)
Jun 11 11:47:01 www crond[2479]: (*system*) WRONG FILE OWNER (/etc/cron.d/smolt)
Jun 11 11:47:01 www crond[2479]: (root) RELOAD (cron/root)发布于 2009-06-11 14:49:28
您是在同一个用户的CLI和cron上运行它吗?如果您以普通用户的身份从CLI运行它,从具有根用户的cron运行它,那么根用户可能丢失了cron.php需要的一些环境变量。
您可以尝试从根cron运行,如下所示:
su - userToRunAs -c "/usr/bin/php /var/www/support_web/api/cron.php"发布于 2009-06-11 15:59:14
cron文件必须有一个用户/组的根/根(/etc/cron*和/etc/cron*和/etc/cron。{日,小时等}/*必须由root拥有,否则其中的脚本不会被触发。
我不知道/var/spool/cron/$username下的个人crontab。不过,我个人的经验表明,它是根/“用户组”
还有一些权限要求,但我不知道它们是什么。不过,我知道那755很管用。
发布于 2009-06-11 14:50:37
很难说,但它可能是您在交互式shell中设置的环境变量,但不是由cron设置的。在cron.php中放置一些打印语句,打印出依赖的任何环境变量,这样您就可以查看是否正确设置了它。
如果失败,添加更多的print语句来查看发生了什么。
https://serverfault.com/questions/24116
复制相似问题