在PHP中运行可能需要很长时间才能完成的脚本

在PHP中运行可能需要很长时间才能完成的脚本,php,cron,cron-task,Php,Cron,Cron Task,我正在运行一个php脚本作为cron作业,这可能需要很长时间才能完成。它将创建一个巨大的xml文件并保存它 如果我实施它,我该怎么想 我要做的一件事是长时间设置最大执行时间: ini_set('max_execution_time', 300); 还有什么我该做的吗?增加内存限制? 如果将标题放在“保持活动”位置是否有帮助 如何确保脚本始终运行,直到完成所有必要的操作?您可以使用函数passing0作为参数来删除执行时间限制: set_time_limit(0); 添加HTTP头不会有任何帮

我正在运行一个php脚本作为cron作业,这可能需要很长时间才能完成。它将创建一个巨大的xml文件并保存它

如果我实施它,我该怎么想

我要做的一件事是长时间设置最大执行时间:

ini_set('max_execution_time', 300);
还有什么我该做的吗?增加内存限制? 如果将标题放在“保持活动”位置是否有帮助


如何确保脚本始终运行,直到完成所有必要的操作?

您可以使用函数passing
0
作为参数来删除执行时间限制:

set_time_limit(0);

添加HTTP头不会有任何帮助,因为它是一个cronjob脚本,您没有处理浏览器。

Wat您正在尝试运行吗?我使用另一台服务器的API从另一台服务器导入大量数据,并将其全部保存为xml文件。php可能不是您想要的,与其他语言相比,php处理大量数据的速度非常慢,但不幸的是,在这种情况下,我只能使用PHP。max_execution_time和set_time_limit之间有什么区别吗?如果不调用
set_time_limit
PHP将使用PHP.ini中的
max_execution_time
值来定义它。
ini\u set('max\u execution\u time',…)
set\u time\u limit(…)
都将仅为当前请求设置此值,因此我认为它们之间没有实际区别。我理解,所以总而言之,它应该足以确保作为cron作业运行的脚本能够完成其任务?好的,如果您的脚本非常复杂(或优化程度很低),则有可能达到内存限制,但很难衡量这一点。使用真实数据进行一些测试,如果达到,可以通过
ini\u set
设置
memory\u limit
配置来增加它。