Comment résoudre PHP Erreur fatale Taille de mémoire autorisée de 8388608 octets épuisés
ini_set (“memory_limit”, ”16M“);
Cela définira votre limite de mémoire à 16 Mo au lieu de 8 Mo. Vous pouvez et devez manipuler ce nombre afin qu'il soit aussi faible que possible sans répéter ce message d'erreur. Cela ne modifiera que la limite de mémoire pour ce fichier PHP particulier.
Alternativement, vous pouvez modifier votre fichier php.ini pour augmenter la limite de mémoire. Cela affectera tous les scripts sur votre serveur. Ouvrez simplement php.ini et trouvez la ligne qui lit “memory_limit” et modifiez-la:
memory_limit = 16M
J'ai remarqué dans mon propre fichier PHP.ini que ma valeur par défaut est bien supérieure à 128M. Donc, si je recevais un jour ce message d'erreur, il se lirait ainsi: «Erreur fatale: taille mémoire autorisée de 134217728 octets épuisés…» et, de toute évidence, un problème beaucoup plus important. Mais la solution de contournement est la même que «Erreur fatale: taille de mémoire autorisée de 8388608 octets épuisés…» ou «Erreur fatale: taille de mémoire autorisée de 16777216 octets épuisés…» ou peu importe. Apparemment, la valeur par défaut memory_limit est passée de 8 à 16 millions de PHP 5.2.0 et est maintenant de 128M pour PHP 5.3.0, ce qui expliquerait pourquoi vous ne pouvez pas recevoir ce message d'erreur du tout..
Vous pouvez également désactiver la limite de mémoire en définissant memory_limit sur -1 dans PHP.ini..
memory_limit = -1
Ce n'est généralement pas une bonne idée, cependant, pour des raisons évidentes.
Remarque: vous pouvez également utiliser la ligne memory_limit dans votre page .htaccess..
Rappelez-vous qu’il ne s’agit que d’une solution de contournement. Vraiment, votre script PHP devrait ne pas dépasser 8 Mo, sauf si vous téléchargez des fichiers ou effectuez autre chose qui nécessite manifestement beaucoup d’utilisation de la mémoire. Ce que vous devriez vraiment faire, c'est essayer de comprendre pourquoi votre script utilise autant de mémoire et d'essayer de le réparer. Une façon de déterminer la quantité de mémoire utilisée par votre script PHP consiste à utiliser la fonction PHP memory_get_usage (). Faites-le simplement écho à n'importe quel moment de votre script pour savoir où votre utilisation de la mémoire est en train d'augmenter:
echo memory_get_usage ();
Si vous obtenez ce message d'erreur dans Drupal ou Joomla, le coupable probable est un nouveau module ou package. Par exemple, dans Drupal, la page admin / modules se charge chaque module dans votre installation de Drupal, qui peut devenir poilu si un module personnalisé est bogué, corrompu ou piraté. Essayez de désactiver les modules un par un pour identifier le problème. De plus, certains hébergeurs ignoreront vos tentatives de modification des limites de mémoire de votre code PHP. Vous devrez peut-être contacter l'assistance de votre hébergeur pour vous aider. J'ai trouvé parfois que je devais éditer le fichier php.ini et parfois mettre le code dans le fichier .htaccess. Quoi qu'il en soit, espérons que cette information vous suffira!