【发布时间】:2013-04-05 19:57:40
【问题描述】:
我在 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. 我很少调用我的数据库
我已经解决了很长时间,但无济于事。所以我的问题是这个问题的原因/我该如何调试它。太感谢了! 额外:如果我使用更小的测试数据大小,一切正常。
【问题讨论】:
-
你能粘贴一些代码吗?
-
描述很可爱,但没有代码我们几乎没用!
标签: php for-loop memory timeout large-data