Augmenter la mémoire PHP et les limites
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
- Allez dans Outils > Santé du site > Info
- Cliquez sur "Serveur"
- 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
- Connectez-vous à DirectAdmin
- Allez dans "Select PHP version" ou "PHP Settings"
- Trouvez le paramètre que vous voulez modifier
- Entrez la nouvelle valeur
- 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.
- Connectez-vous via FTP à votre site
- Ouvrez wp-config.php
- 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.
- Ouvrez .htaccess à la racine de votre site
- 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.
- Créez un fichier php.ini à la racine de votre site
- Ajoutez les paramètres souhaités comme memory_limit, max_execution_time, etc.
- 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 :
- Videz tous les caches (navigateur, WordPress, serveur)
- Vérifiez via phpinfo ou Santé du site si les valeurs sont ajustées
- Testez la fonction qui échouait avant
- Surveillez s'il n'y a pas de nouveaux messages d'erreur
Résumé
La meilleure approche pour les limites PHP chez Theory7 :
- D'abord via DirectAdmin - C'est la méthode la plus fiable
- Puis wp-config.php - Spécifiquement pour la mémoire WordPress
- 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.
0 van 0 vonden dit nuttig