En bref
L’erreur « Allowed memory size of … bytes exhausted » signifie qu’une page ou une tâche a demandé plus de mémoire que le serveur n’en accorde, le plus souvent à cause d’une extension gourmande ou d’une opération lourde. Le premier geste consiste à relever la limite avec la constante WP_MEMORY_LIMIT dans wp-config.php, si l’hébergeur l’autorise, puis à trouver ce qui consomme autant.
Le message apparaît en haut d’une page blanche, dans un journal d’erreurs ou en pleine importation : « Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) ». Les chiffres changent d’un site à l’autre, la phrase reste la même. Tout le site peut tomber, ou une seule action échouer, comme envoyer une photo ou exporter des commandes. Vous ne verrez parfois que « Il y a eu une erreur critique sur ce site. », la phrase en anglais figurant alors dans le journal d’erreurs ou l’e-mail envoyé par WordPress. Rassurez-vous, ce message a le mérite de dire exactement ce qui manque, et si vous préférez déléguer, notre équipe se charge de résoudre les erreurs WordPress, dont les problèmes de mémoire.
D’où vient l’erreur de mémoire PHP épuisée ?
La limite de mémoire PHP, en clair
PHP est le langage dans lequel WordPress est écrit. Pour fabriquer chaque page, le serveur lui réserve de la mémoire de travail, un peu comme un plan de travail en cuisine. Le réglage memory_limit fixe la taille maximale de ce plan de travail : PHP la règle à 128 Mo par défaut, selon la documentation officielle de PHP, mais chaque hébergeur choisit sa propre valeur. Quand une tâche a besoin de davantage, PHP l’arrête net. Le premier nombre du message est la limite atteinte, exprimée en octets : 134217728 octets correspondent à 128 Mo, 268435456 à 256 Mo. Le second correspond à la quantité demandée en plus au moment de l’arrêt. Selon la configuration du serveur, la même panne peut aussi se présenter comme une erreur 500 sur votre site WordPress.
WordPress a aussi sa propre limite
WordPress ajoute son propre réglage, la constante WP_MEMORY_LIMIT, c’est-à-dire une valeur fixée dans son fichier de configuration wp-config.php. Sans indication, il demande 40 Mo pour un site classique et 64 Mo pour un réseau multisite, et jusqu’à 256 Mo pour les tâches d’administration, grâce à une seconde constante, WP_MAX_MEMORY_LIMIT. Surtout, WordPress n’abaisse jamais la limite du serveur : il peut seulement l’augmenter, si l’hébergeur l’autorise.
Les causes, de la plus fréquente à la plus rare
- Une extension gourmande : constructeur de pages, sauvegarde, sécurité, import et export.
- Une opération lourde, comme le traitement d’une très grande image ou l’importation d’un gros fichier.
- Trop d’extensions actives, dont les besoins s’additionnent.
- Une limite trop basse chez l’hébergeur, fréquente sur les offres d’entrée de gamme.
- Un bug qui tourne en boucle et consomme toute la mémoire disponible, quelle que soit la limite.
- Plus rarement, un code malveillant installé après un piratage.
Comment corriger l’erreur de mémoire épuisée étape par étape
1. Notez quand l’erreur apparaît et lisez le message en entier
Notez d’abord quand l’erreur survient : sur tout le site, dans l’administration seulement, ou pendant une action précise. Lisez aussi la fin du message. Après le mot « in », il indique le fichier en cours d’exécution : un chemin contenant wp-content/plugins/ pointe vers une extension. Ce n’est qu’un indice, car le fichier qui déborde n’est pas toujours celui qui a rempli la mémoire. Si le message ne s’affiche pas à l’écran, notre article pour voir les erreurs d’un site WordPress explique comment le retrouver.
2. Faites une sauvegarde
Vous allez modifier un fichier essentiel. Sauvegardez d’abord les fichiers et la base de données, la partie qui contient vos textes et vos réglages, de préférence depuis l’espace client de votre hébergeur : une extension de sauvegarde risque de buter sur la même limite de mémoire.
3. Vérifiez la mémoire réellement disponible
Si l’administration est accessible, ouvrez Outils, puis Santé du site, et l’onglet Informations. La section Serveur affiche la limite de mémoire PHP fixée par le serveur, et la section Constantes WordPress indique les valeurs de WP_MEMORY_LIMIT et WP_MAX_MEMORY_LIMIT. Comparez-les au premier nombre de votre message d’erreur : vous saurez quelle limite a été atteinte.
4. Augmentez WP_MEMORY_LIMIT dans wp-config.php
Connectez-vous aux fichiers du site par FTP, c’est-à-dire l’accès aux fichiers du site, comme un explorateur de fichiers à distance, ou par le gestionnaire de fichiers de votre hébergeur. À la racine, ouvrez wp-config.php avec un éditeur de texte brut et ajoutez cette ligne juste au-dessus du commentaire qui annonce la fin des réglages (« That’s all, stop editing! » sur une installation en anglais) :
define( 'WP_MEMORY_LIMIT', '256M' );
Si une ligne WP_MEMORY_LIMIT existe déjà, modifiez sa valeur au lieu d’en ajouter une seconde. La valeur de 256 Mo correspond au minimum que recommande WooCommerce pour une boutique : inutile de viser beaucoup plus haut sans raison. Rechargez ensuite la page qui posait problème. Si l’erreur a disparu, ne vous arrêtez pas là : la documentation de WordPress sur wp-config.php rappelle elle-même qu’augmenter la limite peut masquer la cause, qui risque de revenir plus tard.
5. Si rien ne change, voyez avec votre hébergeur
WordPress ne peut pas dépasser le plafond fixé par le serveur. Si l’erreur continue avec exactement le même nombre, l’hébergeur bloque très probablement la hausse. Selon les offres, la limite se règle dans l’espace client, dans un fichier de configuration de PHP comme php.ini, ou uniquement sur demande au support. Si votre formule plafonne trop bas, nos conseils pour choisir un hébergement WordPress vous aideront à trouver mieux.
6. Trouvez l’extension trop gourmande
Une fois le site revenu, de préférence sur une copie de test, désactivez vos extensions une par une depuis le menu Extensions, en refaisant à chaque fois l’action qui provoquait l’erreur. Commencez par celle que désigne le message, puis par les plus lourdes. Si le site reste totalement inaccessible, renommez par FTP le dossier de l’extension suspecte dans wp-content/plugins pour la désactiver.
L’extension gratuite Query Monitor peut aussi vous aider : elle affiche les erreurs PHP en indiquant l’extension ou le thème responsable. Désinstallez-la après le diagnostic. Le coupable trouvé, mettez-le à jour, signalez le problème à son éditeur ou remplacez-le par une alternative plus légère.
À éviter
- Supprimer toute limite avec la valeur
-1: un bug en boucle pourrait alors accaparer le serveur au lieu d’être arrêté. - Ajouter une seconde ligne
WP_MEMORY_LIMITau lieu de modifier celle qui existe déjà. - Modifier
wp-config.phpavec un traitement de texte comme Word, qui remplace les guillemets droits par des guillemets typographiques et casse le site. - S’arrêter à la hausse de la limite sans chercher la cause : le problème reviendra.
Ce que nous voyons le plus souvent
Très souvent, l’erreur survient pendant une opération ponctuelle : l’envoi d’une très grande photo prise au téléphone, une sauvegarde complète lancée depuis WordPress ou l’importation d’un catalogue de produits. Autre situation type, un constructeur de pages gourmand à l’édition sur un hébergement d’entrée de gamme. Et parfois, la limite est déjà généreuse mais une extension tourne en boucle : aucune hausse ne suffit, seule sa correction ou son remplacement règle le problème.
Quand faire appel à un professionnel ?
Chercher la cause demande parfois des outils et de l’expérience. Faites appel à un professionnel si :
- l’erreur interrompt vos sauvegardes : vos copies sont peut-être incomplètes et vous risquez de perdre des données ;
- votre boutique est à l’arrêt, ou les commandes et les paiements échouent ;
- l’erreur persiste malgré une limite déjà élevée, ou s’accompagne de fichiers inconnus et d’une lenteur inhabituelle, signes possibles d’un piratage ;
- vous n’avez pas accès aux fichiers du site ni à l’espace client de votre hébergeur ;
- l’extension en cause est indispensable à votre activité et n’a pas d’équivalent évident.
En conclusion :
Une erreur de mémoire PHP épuisée se règle souvent en deux temps : relever raisonnablement la limite pour remettre le site en route, puis trouver l’extension ou l’opération qui consomme trop. Si la limite ne bouge pas, si l’erreur revient ou si votre boutique est bloquée, notre équipe peut corriger l’erreur de mémoire de votre site WordPress et intervenir en dépannage WordPress urgent si nécessaire.