Articles

How to Fix PHP 'zend_mm_heap corrupted' Error

If you see the error zend_mm_heap corrupted in the global PHP-FPM error log file at /var/log/phpX.Y-fpm-sp.log, the most likely cause of the problem is a buggy PHP extension crashing PHP.

PHP extensions include the New Relic PHP extension and any PECL extension, such as memcache, redis, and others.

Step One: Disabling Third-Party PHP Extensions

If you are seeing "zend_mm_heap corrupted" in your logs, you should disable all third-party PHP extensions until you can identify which one is causing the problem.

To disable a PHP extension, SSH into your server as root and then rename the extension's file at:

/etc/phpX.Y-sp/conf.d/EXTENSION.ini

to:

/etc/phpX.Y-sp/conf.d/EXTENSION.ini.disabled

Next, restart PHP by running this command as root:

sudo service phpX.Y-fpm-sp restart

Replace "X.Y" with the version of PHP, for example "5.6".

Step Two: Changing the PHP Version

If you have disabled all third-party PHP extensions and are still getting errors, your app's PHP code is likely triggering a bug in PHP itself and you should switch to a different PHP version.