循环中的PHP段错误

时间:2010-09-16 20:48:50

标签: php

我正在运行PHP脚本(CLI)来计算一件大事。它可能是一个(几乎)无限循环但是在17000次运行后我的内存耗尽。我可以通过某种方式转储一些内存(比如每1000次运行一次),这样我可以永远运行它吗?

/最大

3 个答案:

答案 0 :(得分:1)

在PHP 5.3中:gc_collect_cycles()

答案 1 :(得分:0)

这是PHP中内存管理的article

如果你还没有达到最大限度,你也可以increase available memory in PHP

请记住:

有时你不能只是“转储”。根据您的算法,您可能需要先前计算的结果以供将来计算。

这里的关键可能是将问题分解为更小的问题并单独解决。

查看Dynamic Programming上的这篇文章。

答案 2 :(得分:0)

如果这不是服务器应用程序,我建议将脚本分解为cron作业。

无论如何,问题很可能是你不小心你的变量。如果你的内存不足,那么你需要记住取消设置()你的变量。同样,注意你的变量范围。如果变量永远不会超出范围,则在删除对它的所有引用之前,PHP GC无法清除它。