5

zend_mm_heap corrupted在我为预渲染大型环境而编写的 PHP 程序中出现错误消息。

我怀疑这是由于脚本中的变量分配过多引起的,尽管我不确定这一点,因为我编写的脚本在任何给定时间只有大约 20 个变量,其中一个是最多可容纳 500 个的数组元素。也就是说,总的迭代次数约为数十亿。

我的怀疑是否正确,如果是,有什么可以做的吗?例如,运行脚本一段时间,然后将重要的变量转储到文件中并重新启动脚本,让它拾取这些变量并继续运行会更好吗?

4

2 回答 2

0

我已经看到了这个问题,并且可以使用 phalcon 重现它,但它似乎来自 APC 缓存。我通过从 APC 切换到 zend opcache 来修复。您可以尝试禁用 APC 以查看它是否会消失。

从我的调查中我能得出的最好的结论是 APC 正在对 zend 正在使用的内存做一些事情。PS,它与zend框架没有任何关系,这是与合并到php中的zend部分有关的错误。

于 2014-12-16T16:22:28.223 回答
0

您的问题的解决方案是下载与您的 PHP 版本兼容的最新版本的 APC。

您必须强制安装它,使其覆盖旧版本的 APC。在许多情况下,这将解决您遇到的问题。

于 2015-12-07T17:25:21.203 回答