NouveauBlack Friday : 50 % de réduction sur votre premier paiement
Dépannage WordPress

Taille de mémoire autorisée épuisée

PHP a atteint le plafond qu'il a été donné et arrêté. Le nombre dans le message est la limite, pas le montant dont votre site a besoin.

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)

Réponse rapide

Relever la limite assez pour récupérer le site, puis trouver ce qui l'a consommé. Une limite relevée sans cette deuxième étape est de nouveau relevée le mois prochain, et le numéro dans le message ne vous dit rien sur quel code était responsable.

Diagnostic

Les causes les plus probables d’abord.

Parcourez la liste dans l’ordre. Vérifiez chaque cause avant de modifier quoi que ce soit : les correctifs diffèrent et une supposition coûte plus cher qu’une commande.

CauseComment vérifierCorrectif
Une image redimensionnéeL'erreur apparaît sur le téléchargement ou sur un écran média-bibliothèque, et le fichier en cause est grand.Donnez la redimension suffisamment de mémoire ou redimensionner avant le téléchargement. Une caméra JPEG peut avoir besoin de plusieurs fois de sa taille de fichier pour décompresser.
Une requête chargeant tout dans un tableauL'erreur se pose sur une archive, une exportation ou un rapport - n'importe où posts_per_page est -1.Paginez la requête. La saisie de chaque ligne pour les compter est la version la plus courante de ce code de plugin.
Options automatiquement chargéesLa taille automatiquement chargée est mesurée en mégaoctets. Chaque requête la paie, de sorte que l'erreur peut apparaître n'importe où.Déplacez les plus grandes options hors de l'autoload. Les plugins qui stockent les journaux ou les caches dans wp_options sont la raison habituelle.
La limite est simplement faibleLe message nomme une limite bien inférieure à 256M sur un site avec un ensemble de plugins ordinaires.Levez WP_MEMORY_LIMIT à quelque chose de moderne. Un défaut de 40M est une décennie dépassée.
Une importation tenant chaque rangéeLa mémoire grimpe régulièrement à travers un travail de longue durée plutôt que de se faufiler à la fois.Procéder en morceaux et libérer chaque lot. La mémoire qui ne grandit que jamais est un travail qui ne libère jamais ce qu'il a lu.
Guide

Corriger l’erreur, étape par étape.

Les commandes supposent un accès à WP-CLI et au terminal. Si vous n’en disposez pas, chaque étape explique comment procéder depuis le tableau de bord ou via SFTP.

  1. Lisez la limite que vous frappez en fait

    Il y en a deux : PHP propre, et WordPress propre en plus.

    php -i | grep '^memory_limit'
    wp config get WP_MEMORY_LIMIT
  2. Levez-le assez pour charger le site à nouveau

    C'est le triage, il vous achète le tableau de bord pour que vous puissiez faire l'étape suivante.

    wp config set WP_MEMORY_LIMIT '256M'
    wp config set WP_MAX_MEMORY_LIMIT '512M'
  3. Mesurer les options chargées automatiquement

    Chaque demande paie avant qu'elle ne fasse autre chose.

    wp db query "SELECT ROUND(SUM(LENGTH(option_value))/1024/1024, 2) AS mb FROM \$wpdb->options WHERE autoload='yes';"
  4. Trouvez les plus grands délinquants par leur nom

    Le haut de cette liste est généralement un plugin stockant quelque chose qu'il ne devrait pas.

    wp db query "SELECT option_name, ROUND(LENGTH(option_value)/1024, 1) AS kb FROM \$wpdb->options WHERE autoload='yes' ORDER BY LENGTH(option_value) DESC LIMIT 10;"
  5. Confirmer la correction en vertu de la limite d'origine

    Remettez la limite là où elle était et rechargez la page qui a échoué. Si elle tient, vous avez corrigé la cause plutôt que le symptôme.

    wp config set WP_MEMORY_LIMIT '128M'
Sur MagicWP

Ce que la plateforme prend en charge.

La mémoire est dimensionnée à partir du plan plutôt que d'un par défaut partagé, donc le point de départ est un nombre moderne au lieu d'un dix-années, et il appartient à votre conteneur seul. Le tableau de bord montre la mémoire d'un site est en fait en utilisant contre ce qu'il a, qui est la mesure qui transforme cette erreur d'une conjecture en une décision.

Questions fréquentes

Questions fréquentes.

Combien de mémoire WordPress a besoin ?
Ce qui décide le nombre est vos plugins, vos tailles d'image et votre plus grand écran d'administration - c'est pourquoi la réponse honnête est de mesurer le site plutôt que de copier une figure d'ailleurs.
Pourquoi le message mentionne-t-il une petite allocation?
Parce que cette allocation était celle qui ne correspondait pas. C'est la paille, pas la charge. Le nombre intéressant est la limite et ce qui l'a rempli, ni ce que le message vous dit.
Puis-je élever la limite pour toujours ?
Vous pouvez le relever, mais une limite est la chose qui arrête une demande de fuite en prenant l'ensemble du pool. Enlevant il convertit une page échouée en une machine qui échange.
Pourquoi ça n'arrive qu'en wp-admin ?
Les écrans Admin chargent plus par requête - les vérifications de mise à jour, les tables de liste et le code de paramètres de chaque plugin. Une page front-end qui vient de cache demande une fraction de celui-ci.
Erreurs associées

Si le problème vient d’ailleurs.

Ces erreurs peuvent se présenter de façon similaire dans le navigateur.