突然之间,我的应用程序出现了一些以前从未遇到过的问题。我决定检查Apache的错误日志,我发现了一条错误消息,上面写着"zend_mm_heap已损坏“。这是什么意思。
操作系统: Fedora Core 8 Apache: 2.2.9 PHP: 5.2.6
发布于 2010-12-15 19:16:49
经过反复试验,我发现如果增加php.ini文件中的output_buffering
值,这个错误就会消失
发布于 2012-04-10 15:48:00
如果您使用的是Linux box,请在命令行中尝试执行以下操作
export USE_ZEND_ALLOC=0
发布于 2011-08-31 08:06:26
检查unset()
%s。确保您没有在析构函数中unset()
对$this
(或等效对象)的引用,并且析构函数中的unset()
%s不会导致对同一对象的引用计数降到0。我做了一些研究,发现这通常是导致堆损坏的原因。
出现PHP bug report about the zend_mm_heap corrupted错误。有关如何重现它的示例,请参阅comment [2011-08-31 07:49 UTC] f dot ardelian at gmail dot com
。
我有一种感觉,所有其他的“解决方案”(改变php.ini
,用更少的模块从源码编译PHP,等等)只需隐藏问题。
https://stackoverflow.com/questions/2247977
复制