Comment résoudre PHP Erreur fatale: taille de mémoire autorisée de 8388608 octets épuisés
ini_set (“memory_limit”, ”16M“);
Cela va définir votre limite de mémoire à 16 Mo, plutôtque 8 MB. 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 PHP.Fichier ini que mon défaut est beaucoup plus élevé à 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: «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 a été augmentée de 8 millions à 16 millions dans PHP 5.2.0 et est maintenant de 128 millions 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, 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, à moins que votre téléchargement de fichiers oufaire quelque chose d'autre qui nécessite évidemment beaucoup de 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 recevez ce message d'erreur dans Drupal ou Joomla, le coupable est probablement un nouveau module ou package. Par exemple, dans Drupal, la page admin / modules se charge chaque module dans votre installation Drupal, qui peut obtenirpoilu si un module personnalisé est bogué, corrompu ou piraté. Essayez de désactiver les modules un par un pour identifier le problème. En outre, certains fournisseurs d’hébergement ignorent vos tentatives de modification des limites de mémoire de votre code PHP. Vous devrez peut-être contacter le support technique de votre hébergement pour vous aider. J'ai parfois constaté que je devais éditer le fichier php.ini et parfois mettre le code dans le fichier .htaccess. Quoi qu'il en soit, espérons-le, ces informations sont suffisantes pour vous aider à trouver votre chemin!
laissez un commentaire