🚀 Comment corriger l’erreur “PHP Max Input Vars Limit” dans WordPress
Si vous construisez ou gérez un site WordPress et que vous rencontrez soudainement l’erreur :
“Warning : Max Input Vars limit reached”
ou
“Augmentez la valeur de max_input_vars”
…cela signifie que votre serveur empêche PHP de traiter un trop grand nombre de champs de saisie – ce qui se produit souvent lors de l’enregistrement de grands menus, de constructeurs de pages (comme Elementor ou WPBakery), ou de soumissions de formulaires.
Dans cet article avancé, nous allons couvrir :
- ✅ Ce qu’est la directive max_input_vars
- 🧠 Comment elle affecte WordPress
- 🔧 Comment la corriger via plusieurs méthodes (php.ini, .htaccess, wp-config, Nginx, cPanel, etc.)
- 🔐 Meilleures pratiques et considérations de sécurité
🔍 Qu’est-ce que max_input_vars ?
max_input_vars est une directive PHP qui limite le nombre de variables d’entrée que PHP peut accepter (via POST, GET et REQUEST). Cela protège le serveur contre les attaques par déni de service par hachage, mais affecte également les opérations légitimes dans les plates-formes CMS.
Valeur par défaut :
Si vous dépassez cette limite (par exemple, si vous enregistrez un menu WordPress avec 1000 éléments), PHP interrompt la saisie, et WordPress ne parvient pas à enregistrer toutes les modifications.
📌 Quand vous rencontrerez l’erreur
- Sauvegarde de grands menus de navigation
- Enregistrement de pages comportant de nombreux champs de formulaire
- Utiliser des constructeurs de pages avec des mises en page complexes
- Plugins comme WPML, Elementor, WooCommerce
🛠️ Corriger l’erreur : 6 méthodes éprouvées
✅ 1. Modifier php.ini (Meilleure méthode si vous avez un accès root ou VPS)
C’est la façon la plus propre de modifier max_input_vars si vous utilisez votre propre serveur :
Etape 1: Localisez ou créez un fichier php.ini (en fonction du serveur) :
Remplacez 8.1 par votre version de PHP.
Étape 2: Trouvez et éditez la directive :
Étape 3: Redémarrez votre serveur web :
ou
✅ 2. Mise à jour de .htaccess (Pour les utilisateurs d’Apache avec un hébergement mutualisé)
Si vous ne pouvez pas accéder à php.ini, essayez de modifier .htaccess à la racine de votre installation WordPress :
⚠️ Cela ne fonctionne que si mod_php est activé. Certains hébergeurs utilisent PHP-FPM à la place, où cette méthode ne fonctionnera pas.
✅ 3. Utiliser wp-config.php (pas toujours efficace)
WordPress ne supporte pas nativement la surcharge de max_input_vars, mais dans certaines configurations, l’ajout de ce paramètre peut fonctionner:
Placez-la au-dessus de la ligne qui dit :
✅ 4. Modifier l’utilisateur php.ini ou php_value dans cPanel
Si vous utilisez un hébergement mutualisé avec cPanel :
- Allez dans cPanel > Sélectionnez la version de PHP > Options
- Cherchez max_input_vars et augmentez-le à 3000 ou plus
- Sauvegardez et vérifiez phpinfo() pour confirmer
fonctionne instantanément – aucun redémarrage n’est nécessaire.
✅ 5. Utiliser .user.ini (pour les environnements PHP-FPM ou CGI)
Créez ou éditez le fichier .user.ini dans le dossier racine de WordPress :
Redémarrez ensuite PHP (ou attendez 5 minutes si l’hôte applique les changements automatiquement).
✅ 6. Pour les serveurs NGINX PHP-FPM
NGINX n’utilise pas .htaccess, il faut donc configurer PHP via le pool FPM ou php.ini.
Editez /etc/php/8.1/fpm/php.ini :
Puis redémarrez :
🧪 Comment confirmer qu’il fonctionne
Créez un fichier phpinfo.php à la racine de votre WordPress :
Accès via un navigateur : https://yourdomain.com/phpinfo.php
Recherchez max_input_vars et vérifiez qu’il est mis à jour.
🧼 N’oubliez pas de supprimer le fichier par la suite – il expose des informations sensibles sur le serveur.
🛡️ Meilleures pratiques
| Recommandation | Raison |
|---|---|
| Ne pas définir max_input_vars à 999999 | Peut entraîner des vulnérabilités DoS |
| S’en tenir à 3000-5000 | Suffisant pour les grands menus/constructeurs de pages |
| Surveiller les limites de mémoire | Grandes variables d’entrée = plus d’utilisation de la mémoire |
| Utiliser phpinfo() ou ini_get() pour déboguer | Éviter les devinettes |
💡 Bonus : Augmenter les autres limites associées
Parfois, ce problème s’accompagne de l’atteinte d’autres limites :
Ces paramètres peuvent également être placés dans php.ini, .htaccess, ou .user.ini.
🧭 Dernières réflexions
Comprendre et corriger l’erreur max_input_vars dans WordPress.L’erreur max_input_vars est un problème subtil mais potentiellement perturbateur dans WordPress qui passe souvent inaperçu – jusqu’à ce que quelque chose de critique se brise. Cette directive de configuration PHP contrôle le nombre maximum de variables d’entrée (comme les champs de formulaire ou les éléments de menu) que votre serveur traitera dans une seule requête. Si cette limite est trop basse, elle peut silencieusement empêcher certaines parties de votre site web d’enregistrer correctement les modifications, en particulier dans les environnements complexes.
Où le problème apparaît-il ?
Cette erreur apparaît généralement dans les scénarios suivants :
Menus WordPress volumineux ou imbriqués : Lors de l’élaboration de structures de menu détaillées, il se peut que seule une partie du menu soit enregistrée ou que les modifications disparaissent après l’enregistrement.
- Sites web multilingues : Les plugins tels que WPML ou Polylang reposent fortement sur la soumission de formulaires avec un grand nombre de champs de saisie pour chaque langue.
- Constructeurs de pages : Les outils de glisser-déposer tels que Elementor, WPBakery ou Divi peuvent rencontrer des problèmes lors de l’enregistrement de mises en page comportant de nombreux éléments ou lignes.
- Paramètres du thème ou du plugin : Certains thèmes et plugins avec des panneaux de configuration riches peuvent ne pas enregistrer tous les paramètres correctement si la limite est dépassée.
- Le pire ? Il n’y a souvent aucun message d’erreur visible – les modifications ne s’appliquent tout simplement pas, et vous vous demandez ce qui n’a pas fonctionné.



