# Augmenter la limite de mémoire WordPress

Source: https://support.kapsulehost.com/fr-fr/wordpress-memory-limit

Lorsque WordPress ou une extension plante avec une erreur d'épuisement de mémoire, la solution consiste à augmenter la limite de mémoire PHP, et sur KapsuleHost, il s'agit d'un menu déroulant dans KPanel plutôt que d'une modification de fichier. Ce guide explique ce que signifie l'erreur, comment modifier la limite, quelle valeur choisir, et que faire lorsque plus de mémoire ne résout pas le problème.

## What l'Erreur ressemble

La forme la plus claire est une erreur fatale affichée sur la page ou écrite dans votre journal des erreurs :

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

Divisez le chiffre en octets par 1 048 576 pour l'obtenir en mégaoctets : `268435456` correspond à 256 Mo, `134217728` correspond à 128 Mo.

Le problème ne s'annonce pas toujours aussi clairement. Le même problème sous-jacent peut se manifester de ces façons :

- Une page entièrement blanche sans aucun message, souvent sur un seul écran précis.
- Le tableau de bord WordPress se charge, mais une seule page d'administration (Extensions, Produits, Santé du site) plante.
- Un téléversement de média ou une importation qui s'arrête en cours de route.
- Une erreur 500 qui n'apparaît que sous forte charge.

> **Note:** Avant de modifier quoi que ce soit, confirmez qu'il s'agit bien d'un problème de mémoire. Ouvrez **Paramètres** du site, puis l'onglet **PHP**, faites défiler jusqu'à **Journal des erreurs PHP**, puis cliquez sur **Charger le journal**. Vous verrez alors les 200 dernières entrées avec un filtre par niveau. Une erreur d'épuisement de mémoire apparaît comme **Fatale**. Si le journal est vide, le problème se situe ailleurs : consultez [Écran blanc WordPress](https://support.kapsulehost.com/fr-fr/wordpress-white-screen) et [Lire vos journaux d'erreurs](https://support.kapsulehost.com/fr-fr/error-logs).

## Modifier la limite dans KPanel

1. Connectez-vous à [KPanel](https://kpanel.kapsulehost.com) et cliquez sur **Sites web** dans la barre latérale gauche.
2. Cliquez sur le site que vous souhaitez modifier.
3. Dans le menu propre au site, ouvrez **Paramètres**, puis **PHP**.
4. Repérez la carte **Paramètres PHP** et la ligne **Limite de mémoire**.
5. Choisissez une valeur dans le menu déroulant : `128M`, `256M`, `512M`, `1024M` ou `2048M`.
6. Cliquez sur **Enregistrer les paramètres**.

![Les paramètres PHP d'un site dans KPanel, où la limite de mémoire est choisie](https://support.kapsulehost.com/help/screenshots/wordpress-memory-limit.b15db306.webp)

Aucun redémarrage n'est nécessaire et le site reste accessible pendant toute l'opération. Vos paramètres sont écrits dans un fichier `.user.ini` à la racine de votre site, que KPanel gère pour vous.

> **Tip:** La nouvelle valeur n'est pas toujours active dès le chargement de page suivant. Le serveur met en cache `.user.ini` pendant jusqu'à cinq minutes, donc si l'ancienne limite est encore signalée, patientez quelques minutes et vérifiez à nouveau avant de conclure que la modification n'a pas pris effet.

La même carte contrôle quatre autres valeurs qu'il faut souvent ajuster en même temps que la mémoire :

| Paramètre | Options | À augmenter quand |
|---|---|---|
| Limite de mémoire | 128M à 2048M | Erreurs fatales de mémoire, écrans d'administration blancs |
| Durée maximale d'exécution | 30 à 600 secondes | Les importations, exportations et créations de rapports s'arrêtent en cours de route |
| Taille maximale d'upload | 16M à 256M | Un fichier zip de thème ou une vidéo est rejeté car trop volumineux |
| Nombre maximum de variables d'entrée | 1000 à 10000 | Menus volumineux, formulaires importants, produits avec de nombreuses variations |

La taille maximale « post max size » n'est pas affichée, car KapsuleHost la définit automatiquement, toujours 1 Mo au-dessus de votre limite d'upload, de sorte qu'un formulaire comportant un fichier à la limite passe tout de même.

## Quelle valeur choisir

Chaque site KapsuleHost démarre à **256M**, ce qui représente déjà le double de la valeur par défaut de WordPress et suffit pour la grande majorité des sites. N'augmentez que lorsque vous constatez une erreur réelle.

| Site | Limite suggérée |
|---|---|
| Site vitrine ou blog sur un thème léger | 256M suffit largement |
| Site sur un thème de type page builder avec 20 extensions ou plus | 256M, puis 512M si les erreurs persistent |
| Boutique WooCommerce, catalogue modeste | 256M |
| WooCommerce avec abonnements, nombreuses variations, ou extensions d'inventaire lourdes | 512M |
| Réseau multisite ou grand site d'adhésion | 512M à 1024M |

> **Warning:** Ne passez pas directement à 2048M. Une limite très élevée ne rend pas un site plus rapide : elle permet à une extension défaillante de consommer bien plus de ressources serveur avant de tomber en erreur, ce qui transforme une simple page cassée en un site lent pour tous les visiteurs. Augmentez d'un cran, retestez, et arrêtez-vous dès que l'erreur disparaît.

## Définir une limite dans wp-config.php

Le menu déroulant de KPanel définit le plafond serveur. WordPress possède ses deux propres constantes qui demandent de la mémoire jusqu'à ce plafond, et certaines documentations vous diront de les définir :

```php
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
```

`WP_MEMORY_LIMIT` s'applique à la partie publique du site. `WP_MAX_MEMORY_LIMIT` s'applique à la zone d'administration, qui a normalement besoin de plus de mémoire. Ajoutez-les au-dessus de la ligne `/* That's all, stop editing! */` dans `wp-config.php`, en utilisant l'éditeur intégré dans **Paramètres**, puis **Gestionnaire de fichiers**, ou via SFTP.

> **Warning:** Une constante WordPress ne peut jamais dépasser la limite du serveur. Définir `WP_MEMORY_LIMIT` sur `1024M` alors que le menu déroulant de KPanel indique `256M` vous donne 256M et un faux sentiment d'avoir résolu le problème. Augmentez toujours d'abord la valeur dans KPanel.

Pour la plupart des utilisateurs, les constantes sont inutiles. Définissez la valeur dans KPanel et laissez `wp-config.php` tranquille.

## Remarques sur WooCommerce

Les boutiques sont la raison la plus courante de dépasser 256M. Vérifiez la vue que la boutique a elle-même de la limite dans **WooCommerce**, puis **État** dans wp-admin : le rapport d'état du système affiche la limite de mémoire PHP qu'il détecte, ce qui est un bon moyen de confirmer que votre modification dans KPanel a bien été prise en compte.

Augmentez à 512M si vous utilisez l'un de ces éléments :

- Des produits variables avec des dizaines de variations chacun.
- WooCommerce Subscriptions ou une extension de réservation.
- Deux extensions de passerelle de paiement ou plus actives en même temps.
- Une synchronisation d'inventaire ou de comptabilité qui s'exécute en arrière-plan.

Des pages d'administration WooCommerce lentes ou qui expirent résultent généralement d'une combinaison de mémoire et de temps d'exécution. Augmentez **Durée maximale d'exécution** à 120 secondes en même temps, et envisagez les options de mise en cache présentées dans [Configurer WooCommerce](https://support.kapsulehost.com/fr-fr/wordpress-woocommerce).

## Vérifiez aussi votre version PHP

Si des erreurs de mémoire sont apparues juste après un changement de PHP, la version elle-même peut être en cause : une extension ancienne peut fuir fortement sur un environnement d'exécution plus récent. La carte **Version PHP** en haut du même onglet indique ce que le site utilise et vous permet de basculer entre PHP 8.4, 8.3, 8.2 et 8.1.

Changer de version redémarre le pool PHP du site, attendez-vous donc à quelques secondes d'indisponibilité. Tous les détails se trouvent dans [Changer votre version PHP](https://support.kapsulehost.com/fr-fr/changing-php-version).

## Quand plus de mémoire ne résout pas le problème

Si augmenter la limite à deux reprises n'apporte aucune amélioration, c'est qu'autre chose consomme de la mémoire indûment. Procédez dans cet ordre :

1. **Faites une sauvegarde.** [Effectuer une sauvegarde](https://support.kapsulehost.com/fr-fr/taking-a-backup) d'abord, à chaque fois.
2. **Trouvez l'extension responsable.** Désactivez les extensions par moitiés plutôt qu'une par une : désactivez la moitié, retestez, puis divisez la moitié qui échoue encore. Vous pouvez aussi utiliser le **Mode sans échec des extensions** dans l'onglet **WordPress**, puis **Extensions**, qui désactive toutes les extensions d'un coup sans supprimer leurs données.
3. **Testez le thème.** Passez temporairement à un thème WordPress par défaut. Un thème qui exécute des requêtes lourdes à chaque chargement de page produit exactement ce schéma.
4. **Observez l'opération, pas le site.** Si seules les importations échouent, le problème concerne le temps d'exécution et la taille des lots, pas la mémoire. Importez par plus petits lots.
5. **Lisez le journal.** Le **Journal des erreurs PHP** dans l'onglet PHP indique le fichier et la ligne où la mémoire a été épuisée, ce qui permet généralement d'identifier l'extension responsable immédiatement.

Si le problème persiste après être passé à 512M et avoir effectué un test d'extensions propre, envoyez un e-mail à [support@kapsulehost.com](mailto:support@kapsulehost.com) en indiquant le domaine du site, le message exact de l'erreur fatale, et ce que vous étiez en train de faire au moment où le problème s'est produit.
