PHP脚本中的损坏堆

zend_mm_heap corrupted即将出现在我编写的用于预渲染大型环境的PHP程序上的错误消息中。PHP脚本中的损坏堆

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

我纠正了我的怀疑,如果有的话,有什么可以做的吗?例如,运行一段时间的脚本,然后将重要的变量转储到文件并重新启动脚本,使其获取这些变量并继续?

回答:

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

最好的我可以从我的调查中得出结论,APC正在做一些记忆,zend正在使用。 PS,它与zend框架没有任何关系,它是一个与被合并到php中的zend部分有关的错误。

回答:

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

您必须强制安装它才能覆盖旧版本的APC。这在很多情况下会解决您遇到的问题。

以上是 PHP脚本中的损坏堆 的全部内容, 来源链接: utcz.com/qa/257632.html

回到顶部