PHP脚本在您手动启动时完成,但在通过cronjob启动时则不会

时间:2011-03-02 23:33:49

标签: php cron

当我通过浏览器手动启动脚本时,我的PHP脚本运行正常。但是当它通过cronjob运行时它会启动,但直到脚本结束才会运行。

cronjob和脚本执行肯定会启动(我已经测试过了),但正如我所说的:当脚本通过cronjob启动时,它不会运行到脚本结束。

该脚本已经有一个“set_time_limit(0)”,我也试过“ignore_user_abort(TRUE)”,但它根本没用。

非常感谢您提供解决此问题的所有支持。

3 个答案:

答案 0 :(得分:2)

你使用php或wget执行你的php文件吗?如果您使用php,则会有所不同,因为它采用不同的配置,并且该配置可能设置了较低的内存限制,因此您的脚本会耗尽内存并停止/失败。

实际上,直接使用php而不是wget,您可以指定自己的php.ini文件来覆盖一些配置选项,在调用php时使用-c选项。你应该增加你的内存限制,执行时间限制等等。

阅读以下链接,通过选择使用/ bin / php(或任何PHP路径)而不是wget来查看可以使用的所有选项:PHP Arguments

答案 1 :(得分:1)

脚本始终在某个时刻完成。您是否尝试过加载echo(__LINE__)来查看它到底有多远?

答案 2 :(得分:0)

检查您运行的用户/组并调用您的php cron作业,看它是否满足路径环境变量。这可能是当前工作目录路径问题。有时在Windows中,您必须设置路径以包含安装路径以及环境变量中的cron作业路径。