我在 PHP 中运行一个涉及大量数据的算法。所有的处理都发生在一个嵌套的 for 循环中。奇怪的是,外部 for 循环在“X”次迭代后停止工作(其中“X”在我运行脚本时一直在变化)。根据“X”,脚本崩溃需要 5 分钟到 30 分钟之间的任何时间。它不会抛出任何错误,并且只会打印不完整的 var_dump(在外循环的第一次迭代中)
这些是我采取的预防措施: 1. 我在 php.ini 中将超时限制设置为 3600 秒(60 分钟)。2. 我在每次外部 for 循环迭代后打印出 memory_get_usage(),并且我已经验证它与分配给 php 的最大内存相比要小得多。3. 一旦使用了数组,我就取消设置它们 4. 我重用变量名来限制 forloop 中的内存 5. 我对我的数据库的调用最少
我一直在解决这个问题很长时间无济于事。所以我的问题是什么可能是这个问题的原因/我该如何调试它。太感谢了!额外:如果我使用更小的测试数据大小,一切正常。