131 votes

Ce n' "zend_mm_heap corrompu" signifie

Tout d'un coup, j'ai eu des problèmes avec mon application que je n'ai jamais eu avant. J'ai décidé de vérifier l'Apache error log, et j'ai trouvé un message d'erreur disant "zend_mm_heap corrompu". Qu'est-ce que cela signifie.

OS: Fedora Core 8 Apache: 2.2.9 PHP: 5.2.6

58voto

dsmithers Points 264

après beaucoup d'essais et d'erreurs, j'ai trouvé que si j'augmente la output_buffering= valeur dans le php.fichier ini, cette erreur va loin

50voto

Justin MacLeod Points 23

J'ai été faire cette même erreur en PHP 5.5 et en augmentant le tampon de sortie n'a pas aidé. Je n'étais pas en cours d'exécution APC soit donc ce n'était pas la question. J'ai finalement suivi à opcache, j'ai simplement eu à le désactiver à partir de la cli. Il y a un paramétrage spécifique pour cette:

opcache.enable_cli=0

Une fois passé le zend_mm_heap corrompu erreur de s'en alla.

44voto

Hittz Points 171

si sur Linux ,essayez ceci sur la ligne de commande

export USE_ZEND_ALLOC=0

23voto

f.ardelian Points 813

Vérifiez unset()s. Assurez-vous de ne pas unset() références à l' $this (ou équivalents) dans les destructeurs et qu' unset()s destructeurs de ne pas provoquer le nombre de références pour le même objet à goutte à 0. J'ai fait quelques recherches et découvert que ce que généralement les causes de la corruption de segment.

Il y a un PHP rapport de bogue sur le zend_mm_heap corrompu erreur. Voir le commentaire [2011-08-31 07:49 UTC] f dot ardelian at gmail dot com pour un exemple sur la façon de le reproduire.

J'ai le sentiment que tous les autres "solutions" (changement php.ini, compiler PHP à partir des sources avec moins de modules, etc.) juste cacher le problème.

6voto

Piotr Points 41

Dans mon cas, la cause de cette erreur a été l'un des tableaux était en train de devenir très gros. J'ai mis mon script pour réinitialiser le tableau à chaque itération et que trié le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X