将PHP的opcache参数设置为1(打开,默认设置)会不规则地以每天几次的速度在Apache日志文件中显示“zend_mm_heap corrupted”错误。
之前的StackOverflow回答表明这可能是因为(a)使用了其他缓存模块,如APC -这里不是这种情况,因为只有标准的PHP发行版在没有任何非本机缓存的情况下使用,或者(b)内存不足-但根据free -m
,我至少有1.6G的可用交换空间,或者(c) PHP编译器中的错误-不太可能,因为这个错误没有被广泛报告,我也没有做任何不寻常的事情。
该服务器运行多个网站,使用Drupal、Joomla和定制PHP构建。我在Amazon Linux2上使用event MPM在mod_php和Apache2.4.33上运行标准的PHP5.6.36。
唯一不是完全标准的东西是,我正在使用Amazon AWS SDK for PHP v.3发送邮件,但我没有理由认为这是导致问题的原因。
如何跟踪导致堆损坏的原因?
发布于 2018-06-09 07:12:20
看起来这个bug已经被reported了。在评论中,建议在php.ini
中设置以下内容
opcache.revalidate_freq=7000
opcache.fast_shutdown=0
https://stackoverflow.com/questions/50769286
复制相似问题