Augmenter la mémoire PHP et les limites

Vous recevez des messages d'erreur comme "Allowed memory size exhausted" ou "Maximum execution time exceeded" ? Alors les limites PHP sont trop basses pour votre site. Dans cet article, nous expliquons comment augmenter ces limites et quand une mise à niveau est une meilleure solution.

Pourquoi les erreurs de limite de mémoire surviennent

PHP a des limites par défaut pour protéger les ressources du serveur. Ces limites sont :

  • memory_limit - Combien de RAM un script peut utiliser
  • max_execution_time - Combien de temps un script peut s'exécuter
  • upload_max_filesize - Taille maximale d'upload
  • post_max_size - Taille maximale des données POST
  • max_input_vars - Nombre maximum de champs de formulaire

Quand votre site dépasse ces limites, vous obtenez une erreur ou un écran blanc.

Messages d'erreur courants

Le message "Fatal error: Allowed memory size of 67108864 bytes exhausted" signifie que le script essaie d'utiliser plus de 64MB de mémoire.

Le message "Fatal error: Maximum execution time of 30 seconds exceeded" indique qu'un script s'exécute plus longtemps que permis, souvent lors d'imports ou de grandes opérations.

Vérifier les limites actuelles

Avant de faire des modifications, vérifiez quelles sont les limites actuelles.

Via WordPress

  1. Allez dans Outils > Santé du site > Info
  2. Cliquez sur "Serveur"
  3. Vous voyez ici toutes les limites PHP

Via phpinfo

Créez un fichier info.php à la racine de votre site avec le code phpinfo() et ouvrez ce fichier dans votre navigateur. Cherchez memory_limit. Supprimez le fichier après utilisation.

Valeurs recommandées

Pour la plupart des sites WordPress :

  • memory_limit : 256M
  • max_execution_time : 300
  • upload_max_filesize : 64M
  • post_max_size : 64M
  • max_input_vars : 3000

Méthode 1 : Via DirectAdmin

La méthode la plus fiable chez l'hébergement Theory7.

Modifier les paramètres PHP

  1. Connectez-vous à DirectAdmin
  2. Allez dans "Select PHP version" ou "PHP Settings"
  3. Trouvez le paramètre que vous voulez modifier
  4. Entrez la nouvelle valeur
  5. Cliquez sur "Save" ou "Apply"

Chez Theory7, vous pouvez facilement gérer les versions et limites PHP via DirectAdmin. Les modifications sont actives immédiatement.

Paramètres disponibles

  • memory_limit - Augmentez à 256M ou 512M
  • max_execution_time - Augmentez à 300 ou 600
  • upload_max_filesize - Augmentez à la taille d'upload souhaitée
  • post_max_size - Doit être supérieur à upload_max_filesize
  • max_input_vars - Augmentez à 3000 pour WooCommerce

Méthode 2 : Via wp-config.php

Pour WordPress, vous pouvez augmenter la limite de mémoire via wp-config.php.

  1. Connectez-vous via FTP à votre site
  2. Ouvrez wp-config.php
  3. Ajoutez des lignes avant "That is all, stop editing!" pour définir WP_MEMORY_LIMIT à 256M et WP_MAX_MEMORY_LIMIT à 512M

WP_MEMORY_LIMIT est pour le frontend, WP_MAX_MEMORY_LIMIT pour l'admin.

Attention : Cela ne fonctionne que si le serveur autorise des limites plus élevées. Les paramètres DirectAdmin ont la priorité.

Méthode 3 : Via .htaccess

Pour les serveurs Apache, vous pouvez définir les limites via .htaccess.

  1. Ouvrez .htaccess à la racine de votre site
  2. Ajoutez des lignes php_value pour memory_limit, max_execution_time, upload_max_filesize, post_max_size et max_input_vars

Cela ne fonctionne que sur les serveurs avec mod_php. Avec PHP-FPM (standard chez Theory7), DirectAdmin a la priorité.

En savoir plus sur .htaccess dans notre article Configurer le fichier .htaccess dans WordPress.

Méthode 4 : Via php.ini

Certains serveurs supportent un php.ini local.

  1. Créez un fichier php.ini à la racine de votre site
  2. Ajoutez les paramètres souhaités comme memory_limit, max_execution_time, etc.
  3. Enregistrez et testez si les paramètres sont actifs

Situations spécifiques

Boutiques WooCommerce

WooCommerce nécessite des limites plus élevées :

  • memory_limit : 256M minimum, 512M recommandé
  • max_input_vars : 3000 ou plus pour beaucoup de variations de produits

Page builders

Elementor, Divi et autres page builders utilisent beaucoup de mémoire :

  • memory_limit : 256M ou plus
  • max_execution_time : 300 lors de l'enregistrement de grandes pages

En savoir plus sur l'optimisation d'Elementor.

Opérations d'import/export

Pour les gros imports ou migrations :

  • max_execution_time : 600 ou plus
  • memory_limit : 512M ou plus

Quand vaut-il mieux mettre à niveau ?

Augmenter les limites ne résout pas toujours le problème. Envisagez une mise à niveau quand :

Ressources structurellement insuffisantes

Si vous atteignez constamment les limites, votre site est trop lourd pour votre pack actuel.

Beaucoup de visiteurs

Un trafic élevé nécessite plus de mémoire par requête. Une mise à niveau vers VPS donne des ressources dédiées.

Plugins lourds

Certains plugins sont gourmands en ressources. Une mise à niveau est alors préférable à augmenter constamment les limites.

Problèmes de performance

Si votre site est lent malgré des limites augmentées, une mise à niveau vers un pack plus rapide peut aider.

Conseils pour réduire l'utilisation des ressources

Avant de mettre à niveau, essayez d'abord :

  • Plugin de cache - Réduit drastiquement l'exécution PHP
  • Optimisation des images - Des images plus petites chargent plus vite
  • Plugins inutilisés - Désactivez ce que vous n'utilisez pas
  • Nettoyer la base de données - Supprimez anciennes révisions et spam
  • Utiliser un CDN - Décharge les fichiers statiques de votre serveur

Lisez notre guide pour optimiser la vitesse WordPress.

Vérifier les modifications

Après avoir ajusté les limites :

  1. Videz tous les caches (navigateur, WordPress, serveur)
  2. Vérifiez via phpinfo ou Santé du site si les valeurs sont ajustées
  3. Testez la fonction qui échouait avant
  4. Surveillez s'il n'y a pas de nouveaux messages d'erreur

Résumé

La meilleure approche pour les limites PHP chez Theory7 :

  1. D'abord via DirectAdmin - C'est la méthode la plus fiable
  2. Puis wp-config.php - Spécifiquement pour la mémoire WordPress
  3. Ensuite .htaccess/php.ini - En fallback

Si augmenter n'aide pas ou si vous atteignez toujours les limites, une mise à niveau vers un pack plus puissant est la solution durable.