【发布时间】:2018-11-19 00:36:06
【问题描述】:
将 PHP 的 opcache 参数设置为 1(打开,默认值)会在 Apache 日志文件中以每天几次的频率不定期地出现“zend_mm_heap 已损坏”错误。
以前的 StackOverflow 答案表明这可能是因为 (a) 使用了其他缓存模块,例如 APC - 这里不是这种情况,因为仅使用标准 PHP 发行版而没有任何非本地缓存或 (b) 用完内存 - 但根据free -m 或 (c) PHP 编译器中的错误,我至少有 1.6G 可用交换空间 - 不太可能,因为这个错误没有被广泛报道,我没有做任何不寻常的事情。
服务器运行多个网站,使用 Drupal、Joomla 和定制 PHP 构建。我正在使用 Amazon Linux 2 上的事件 MPM 运行带有 mod_php 和 Apache 2.4.33 的标准 PHP5.6.36。
唯一不是完全标准的东西是我使用 Amazon AWS SDK for PHP v. 3 发送邮件,但我没有理由认为这是导致问题的原因。
如何找出导致堆损坏的原因?
【问题讨论】:
-
在 6 月 25 日至 6 月 30 日期间,我有 60 条连续的 error_log 行,在 CentOS 7 和 PHP v5.5.382.0 Apache/2.4.6 上也是如此,有趣的是服务器除了一点停机时间之外继续运行
标签: php apache amazon-ec2 opcache