【发布时间】:2013-02-10 02:11:29
【问题描述】:
zend_mm_heap corrupted 在我为预渲染大型环境而编写的 PHP 程序中出现错误消息。
我怀疑这是由于脚本中的变量分配过多引起的,尽管我不确定这一点,因为我编写的脚本在任何给定时间只有大约 20 个变量,其中一个是可能包含的数组多达 500 个元素。也就是说,总的迭代次数在几十亿左右。
我的怀疑是否正确,如果正确,有什么可以解决的吗?例如,运行脚本一段时间,然后将重要的变量转储到文件中并重新启动脚本,让它拾取这些变量并继续运行会更好吗?
【问题讨论】:
-
你已经看过这个了吗? stackoverflow.com/questions/2247977/…
-
是的,我有。没有一个答案似乎相关。我没有使用 OB,我使用的是一个对象,但我尝试使用过程函数,但错误仍然发生,数组的大小是通过在添加之前检查它来明确控制的,我使用的是 Windows,等等。跨度>
-
PHP 错误日志中有什么内容吗?有时,即使您的脚本设置为显示所有错误,屏幕上也可能没有显示其他信息。
-
无非是损坏的堆消息。没有行号或任何东西。
-
您是否尝试过增加 php.ini 中的可用内存?如果我要尝试修复您的代码,我会逐步评论热点以查看问题何时停止,同时让程序输出进度无缓冲。也就是说,数十亿周期的代码不是 PHP 的用途。考虑为您的特定目的编写插件(mod)。不过我不能给你具体的帮助。
标签: php zend-framework