Crontab没有正确运行PHP脚本

时间:2015-04-24 17:49:42

标签: php crontab

我在crontab中设置了以下命令

0 * * * * root cd /home/domain/public_html/webcrawler && php cron1.php
40 * * * * root cd /home/domain/public_html/webcrawler && php cron2.php

事情是他们没有跑步。我设置的命令中是否有明显的错误?从ssh运行或在浏览器中加载时,php脚本运行正常。我一开始就尝试过root和root。

2 个答案:

答案 0 :(得分:4)

您应该使用完整路径调用PHP cron作业(注意,您的PHP可能位于不同的位置)

0 * * * * /usr/bin/php /path/to/your/script.php

答案 1 :(得分:2)

&&;一起更改为

0 * * * * root cd /home/domain/public_html/webcrawler; php cron1.php

或从绝对路径

执行它
0 * * * * root php /home/domain/public_html/webcrawler/cron1.php

使用绝对路径时,您可以通过执行

强制执行cron脚本的当前工作目录
chdir(__DIR__); //or chdir(dirname(__FILE__));

您还可以将PHP shebang添加到cron.php文件的顶部(您的php二进制文件可能有不同的路径)

#!/usr/bin/php

http://php.net/manual/en/features.commandline.usage.php

然后您可以执行脚本而无需使用

引用php二进制位置
0 * * * * root /home/domain/public_html/webcrawler/cron1.php