WordPress essaie de porter la limite de mémoire de PHP à 40 Mo (64 Mo sur un multisite) pour bien fonctionner.
Augmentons cette valeur pour bénéficier d’une capacité mémoire supérieure et éviter les surcharges en intervenant dans le wp-config.php.
Une limite trop basse provoque une erreur fatale de PHP, dont le message ressemble à celui-ci : Allowed memory size of 41943040 bytes exhausted (tried to allocate 131072 bytes). Le premier nombre est la limite atteinte, en octets : 41 943 040 octets correspondent à 40 Mo, la valeur par défaut de WordPress. Vos visiteurs, eux, ne voient que le message « Il y a eu une erreur critique sur ce site. » ; le message complet figure dans le journal d’erreurs de PHP ou, si vous avez activé le mode débogage de WordPress (constantes WP_DEBUG et WP_DEBUG_LOG), dans le fichier wp-content/debug.log. Il indique aussi le fichier en cours d’exécution, première piste pour repérer l’extension ou le thème en cause.
Augmenter la limite dans le fichier wp-config.php
A l’aide d’un client FTP comme FileZilla, connectez-vous sur votre serveur hébergeant WordPress.
À la racine de votre installation WordPress, modifiez le fichier wp-config.php et ajoutez la ligne de code suivante :
Attention à l’emplacement de cette dernière ! Elle doit se trouver avant la ligne /* C’est tout, ne touchez pas à ce qui suit ! Bonne publication. */ (/* That's all, stop editing! Happy publishing. */ dans la version anglaise du fichier), et dans tous les cas avant celle qui charge le fichier wp-settings.php : par exemple juste après les clés de sécurité, comme ci-dessous. Placée plus bas, elle reste sans effet, car WordPress a déjà fixé la limite ; PHP se contente alors de signaler « Constant WP_MEMORY_LIMIT already defined ».

Modifiez la valeur 96 par celle de votre choix, en mégaoctets (lettre M). Par défaut, WordPress vise 40 Mo, ou 64 Mo sur un multisite, mais la valeur à dépasser est la limite actuelle de PHP, que vous lirez dans Outils > Santé du site (voir plus bas) : WordPress ne fait que relever cette limite, jamais l’abaisser. Si votre hébergeur accorde déjà 128 Mo, une valeur de 96M ne change donc rien.
Surtout, WordPress ne peut pas dépasser ce que votre hébergeur autorise. La limite de PHP elle-même se règle par la directive memory_limit, dans la configuration de PHP : depuis le panneau de votre hébergeur, ou dans un fichier .user.ini, comme pour augmenter la taille maximale d’envoi de fichiers. Si votre hébergeur a verrouillé cette directive, ni la constante ni le fichier .user.ini ne la modifient : demandez-lui alors de relever la limite.
Dans l’administration, WordPress relève en outre la limite à une seconde valeur, WP_MAX_MEMORY_LIMIT, fixée par défaut à 256 Mo (ou à la limite de PHP si elle est plus élevée). Elle s’applique aux écrans d’administration consultés par un administrateur, au traitement des images et aux tâches planifiées (WP-Cron). Si l’erreur survient dans l’un de ces cas, augmentez-la de la même façon, toujours avant la ligne qui charge wp-settings.php :
Vérifier la limite mémoire
Pour connaître la limite réellement appliquée, ouvrez Outils > Santé du site, onglet Informations, puis dépliez la section Serveur. La ligne Limite de mémoire PHP indique la limite en vigueur sur votre site et, quand elle apparaît, la ligne Limite de mémoire PHP (uniquement pour les écrans d’administration) celle de l’administration.
La section Constantes WordPress affiche quant à elle les valeurs de WP_MEMORY_LIMIT et de WP_MAX_MEMORY_LIMIT. Si la constante indique par exemple 96M alors que la limite de mémoire PHP reste plus basse, c’est que votre hébergeur bloque la modification.
Pour suivre la mémoire réellement consommée, l’extension WP-Memory-Usage affiche, dans le pied de page de l’administration et dans un widget du tableau de bord, la mémoire utilisée par rapport à ces limites :
Ce plugin WordPress affiche la capacité mémoire pour PHP sur votre serveur d’hébergement. Très utile pour évaluer vos performances.
Une astuce simple à mettre en œuvre qui vous fera prendre conscience des performances réelles de votre hébergeur.
Pour connaître la configuration de votre hébergement, voyez comment obtenir les informations de votre serveur (PHP, MySQL).
43 réponses
Bonjour,
Merci pour l’article, j’ai juste une remarque concernant les posts qui traitent les problèmes de mémoire de wordpress, d’habitude on montre aux gens comment augmenter cette limite mémoire, du coup on a l’impression de bidouiller nos codes mais peu de posts montrent comment optimiser son code (ces boucles qui traitent ces gros tableaux ou données json) et au final on a l’impression qu’on voit le même post partout ( changer dans le php.ini, ajouter dans wp-config …) et les pires (demandez à votre hébergeur).
Merci.
Pas mal de tutoriels sur ce site présentent des astuces pour optimiser votre WordPress en agissant sur les scripts chargés par exemple. 😉
bonjour,
excusez moi si cette question est « simplette » je suis toute novice dans le wordpress et essaye de me depatoyer comme je peux…
Je voudrais pouvoir augmenter la taille mémoire, je suis face au tableau de mon FTP via Filezila, je vois effectivment une ligne appelé wp-config.php mais je ne vois pas du tout de quelle maniere y ajouter le bout de code.
est ce que quelqu’un aurait la gentillesse et le temps de m’expliquer la /les manip a faire afin de rentrer ce code ?
ca serait vraiment top.
Merci beaucoup
bonne journée
Bonjour Alex,
il te faut télécharger le fichier sur ton ordi puis l’éditer. Ensuite, le renvoyer sur le serveur en l’écrasant. C’est le principe de base.
On peut également éditer le fichier en direct mais plus compliqué.
Bonjour,
Ma ligne de code (ligne « 56 » est décalée).
Est ce correcte ainsi :
[MORE]
55- define(‘NONCE_SALT’, ‘qmy5rzuzcnm1co4s2kssjtcqia1nyh6uyqcczukgeqqdfuwnfw2onamob2wsjbej’);
56-
57- /**#@-*/
58- define(‘WP_MEMORY_LIMIT’, ’96M’);
59- /**
60- * WordPress Database Table prefix.
Merci d’avance pour votre retour.
La define est bonne à voir au-dessus. Merci de ne pas communiquer vos clés de salage en public.
re bonjour, je complète ma question ,via ftp j’ai transféré le plugin mais sans vérifié ou, (admin ,content ,plugin—)alors qu’l y avait peut-être un endroit spécifique,
merci de me le préciser si ‘ai commis une erreur
cordialement
eric
Un plugin s’installe soit par FTP en envoyant le dossier décompressé dans /wp-content/plugins, soit via le menu Extensions > Ajouter. Pour du e-commerce sous WordPress (ou autre plateforme), évitez les mutualisés.
bonjour, félicitation pour cette technique d’augmentation des mémoires car à l’installation d’une extension e commerce, tout c’était bloqué.
j’ai inséré la ligne de code valeur 96m à la bonne ligne et cela a parfaitement fonctionné ensuite j’ai téléchargé ,dézipé, et installé via mon ftp le plugin wp memory , mais je ne sais pas comment voir le résultat ni ou le voir ?je suis novice en la matière)
bien cordialement
eric
Salut je viens de tomber sur cet article qui est très intéressant ? Quelle est un peu près la limite de chaque hébergeur ? Parce que moi elle est de 1024 mb je ne sais pas si c’est beaucoup comparé aux autres
C’est beaucoup oui !
Bonjour,
Pour woocommerce, j’ai définit la limite à 64M dans wp-config et passer le php à 5-2 dans htaccess (online.net) et depuis toutes mes pages sont en 404 error, verriez vous un lien de cause à effet ? (si j’annule mes motifs , c’est pareil …)
merci de votre aide
Si l’annulation des paramètres ne change rien alors le bug ne provient pas automatiquement de là. Il faut peut être une version plus récente de PHP…
bonjour et merci pour le tuto j’ai essayé tous que vous avez dit et ca n’a pas marché pour moi
tu es génial
Bonjour,
Je me galère depuis plusieurs jours donc je me décide à demander de l’aide !
J’ai wordpress 3.5.1 et j’ai récemment installé le pluggin woocommerce. Mais INPOSSIBLE de l’activer ! je reçois le message suivant au bout d’ 1 minute :
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
J’ai contacté mon hébergeur qui ne voit pas le problème, je lui ai posé la question de la mémoire PHP, c’est 128MB. J’ai ajouté la ligne WP limit avec 96MB dans le config.php.. et ça ne marche pas.
A titre d’info je suis hébergé à un endroit et mon nom de domaine est chez qq d’autre. Cela peut-il avoir une incidence ?
Merci d’avance énormément pour votre aide car je sèche complet là.
Très belle journée
C’est probablement un problème de serveur. Si l’installation des autres plugins fonctionne alors il faut vérifier les minimum requis pour faire tourner Woocommerce sur le site officiel et revenir vers l’hébergeur pour voir si la machine est assez puissante ou pas.
Bonjour,
Un grand merci à vous Aurélien pour cet article qui me sort d’une galère de plantage de l’administration de mon blog, pour des problèmes de gestion de la mémoire des extensions. Dès que je voulais intégrer un nouveau plugin ou simplement faire une mise à jour c’était le bug.
En complément à votre astuce, pour mesurer la mémoire utilisée par wordpress et celle dispo il y a aussi un petit plugin très pratique et simplissime : WP-Memory-Usage
Très bonne journée
Ravi d’avoir pu vous être utile !
re je voie que je suis vachemant aider pfffffffffffffffffffff
Ce site n’a pas vocation à offrir du support qui ne concerne pas directement l’application du tutoriel consulté – sinon j’y passerai mes journées…
Pour obtenir de l’aide, il existe le forum WordPress Francophone.
A priori, la ligne du wp-config.php pose souci. Tu as du faire une mauvaise manipulation dans celui-ci.
salut je vous relaice un com pour m’aider quand je vais sur mon site qui été en préparation sa me fais une page blanche avec écri se si: Vous ne pouvez pas modifier les informations d’en-tête – headers already sent by (output a commencé à / home / infogame / public_html / wp-config.php: 1) dans / home / infogame / public_html / wp-includes / pluggable.php sur la ligne 881
et en plus je ne peut plus me conecter a mon tableaux de bord wordpress svp aider moi merci .
salut voila je suis entrain de faire mon site avec wordpress mes voila quand j’ai voulu métre le contenue pour mon site sa m’achiche une page blanche et quand je veut aller sur mon tableau de bord wordpress je ne peut pas me conecter car sa m’achiche se si: Attention : Vous ne pouvez pas modifier les informations d’en-tête – headers already sent by (output a commencé à / home / infogame / public_html / wp-config.php: 1) dans / home / infogame / public_html / wp-includes / pluggable.php sur la ligne 881
voila se que sa m’achiche svp aider moi je vous remercirer d’avence
Bonsoir, je viens d’appliquer votre podcast.
Hélas, il me met un message d’erreur.
deuxième hélas, je souhaite remettre par défaut 32M et impossible de retourner sur site ou manager .
Un message m’écrit : Error establishing a database connection
j’ai donc retelcharger wordpress mais aucun fichier config n’est là , es normal ? Merci pour votre aide
P.S: je débute sur Word Press
Bonjour,
il convient juste de renvoyer par le client FTP la version précédente du fichier ou de l’éditer directement via la fonction d’édition de fichier présente sur tous les clients FTP. 😉
Bien entendu cette astuce sera san effets si votre hébergeur bride la taille de votre memory_limit comme c’est le cas sur la plupart des hébergeurs mutualisés.
Merci pour tout ces tuto! ça me sert grandement!
Dans mon fichier config.php j’ai déjà les lignes:
« require_once(ABSPATH . ‘wp-settings.php’);
define(‘WP_MEMORY_LIMIT’, ‘256M’ );
define(‘WP_ALLOW_MULTISITE’, true); »
A la fin.
ça veut dire que c’est déjà pris en compte ou c’est autre chose?
Merci bien
C’est une très belle liste de choses à mettre en place pour optimiser un blog wordpress. Ce sont des aspects que l’on négligent et qui sont importantes pour optimiser le temps de chargement des pages. Pour certaines, cela prend du temps. Pour d’autres ça demandes quelques minutes. Et des plugins existent pour chaque tache. Mais j’avoue que dans l’ensemble c’est au moins 1 à 2 jours de travail : css, javascript, requêtes, nettoyage de la base de données.
bonjour, comment savoir si j’ai besoin de faire cette manip ?
(pardon suite de la question)
mon serveur a pour memory-limit 128 Mo, je dois configurer 96 ou 128 Mo ?
merci
Tant que tu mets une valeur suffisante par rapport à ta consommation c’est correct. Par exemple : 96 Mo.
et ça se mesure cette consommation ? excuse moi mais c’est un peu abstrait pour moi tout ça…
@ Radcon : cela aura un effet si WordPress a besoin de cette mémoire. 32Mo ont été fixées par WordPress car cela suffit à 80% des blogueurs (à moins d’avoir 60 plugins d’activé) 😉
Merci, chai pas trop si y une différence, je verrais ca sur la durée.
Mon hébergeur autorise jusqu’à 128M, j’ai donc mis cette valeur mais je n’ai pas l’impression que ça ait changé grand chose.
Enfin, ça ne peut sans doute pas faire de mal…
Je relaisse un commentaire car j’ai un petit souci. Une fois a technique appliquée, je reçois ce message d’erreur : Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /var/www/sites/hadopinfo.fr/hadopinfo.fr/subdomains/www/html/wp-config.php:1) in /var/www/sites/hadopinfo.fr/hadopinfo.fr/subdomains/www/html/wp-content/plugins/easy-toolbox/index.php on line 28
Une solution ?
De mémoire, Easy Toolbox est un plugin pour automatiser de nombreuses actions techniques sous WordPress. A priori, le plugin aurait déjà procédé à la modification mémoire.
En désactivant le plugin l’erreur devrait disparaitre. Dans ce cas, il suffit de ne pas appliquer l’astuce et de conserver le plugin actif.
Ensuite, en installant un module mémoire, tu pourras connaître ta puissance disponible.
Merci pour l’astuce.
Je l’ai appliquée dès aujourd’hui. J’espère sentir la différence 🙂
Bonjour,
Je me posais justement la question de l’empreinte mémoire de WordPress sur mon système
J’ai entièrement la main sur la mémoire de mon serveur PHP mais je me posais la question de l’intéret d’augmenter la mémoire de WordPress.
Je ne comprend pas trop le sens de « Eviter les surcharges », cela rendra-t-il le logiciel plus rapide ?
Merci
Johan
Pour avoir plus de précision sur la mémoire PHP avec WordPress, je ne saurais mieux l’expliquer que cette partie du codex (en anglais) : http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP
Quel idiot, je n’ai pas lu les précisions. Je retape donc la ligne de code ici :
<?php phpinfo() ?>Merci de ta visite et de fidélité de longue date Thierry !
Très bonne méthode en effet à laquelle je n’avais pas pensé. 😎
Bonjour !
Je ne suis plus très bavard mais suis toujours le wordpress channel.
Un petit truc pour connaitre la configuration de votre hébergeur :
Créer un fichier appelé par exemple info.php
y insérer cette ligne de code :
Le placer par FTP à la racine de votre site. Ensuite, il suffit de l’appeler avec votre navigateur préféré : http://www.monsite.com/info.php
et le tour est joué, vous aurez ainsi la liste complète des modules php autorisés, de la taille mémoire autorisée, etc.
Il est possible que certains hébergeurs n’autorisent pas ce genre de requête.
Bonne journée.
Thierry