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 :
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.
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
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.
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 :
Si vous utilisez un hébergement mutualisé avec cPanel :
fonctionne instantanément – aucun redémarrage n’est nécessaire.
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).
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 :
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.
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 |
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.
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.