当一个进程手动运行时,它会在 cron 作业中一段时间​​后停止

当一个进程手动运行时,它会在 cron 作业中一段时间​​后停止

我有一个 PHP 脚本,该脚本循环数千行。当我手动运行 PHP 文件时,这个数千行的循环成功返回。但是当 cron 作业执行此操作时,它会循环 143 次。

我检查了什么:

  • 我第 143 次检查是否有东西可以停止我的代码。
  • 我检查了一下是否超时。即使我延长时间,它也会在143轮后停止。

我尝试过什么?:

  • 我认为这可能是内存问题。于是我增加了 memory_limit。——不起作用

编辑: 尽管我没有做任何改变,但情况有所改善。我需要知道原因。请给出您的估计和我可以采取的措施。

答案1

当您手动运行文件时,您是将其运行到浏览器中还是在控制台中?使用 Cron 运行 php 脚本,它使用 PHP 的 CLI 版本而不是 CGI 版本,并且这两个版本之间的超时配置不同。

检查服务器上 PHP 的 CLI 超时或在脚本开头添加 set_time_limit(xxx)。

相关内容