Cómo solucionar el error “PHP Max Input Vars Limit” en WordPress
🚀 Cómo corregir el error “PHP Max Input Vars Limit” en WordPress
Si estás construyendo o gestionando un sitio WordPress y de repente encuentras el error:
“Warning: Max Input Vars limit reached”
o
“Increase max_input_vars to a higher value.”
…significa que tu servidor está bloqueando PHP para procesar demasiados campos de entrada — algo que suele verse al guardar menús grandes, page builders (como Elementor o WPBakery) o envíos de formularios.
En este artículo avanzado, cubriremos:
- ✅ Qué es la directiva max_input_vars
- 🧠 Cómo afecta a WordPress
- 🔧 Cómo solucionarlo mediante varios métodos (php.ini, .htaccess, wp-config, Nginx, cPanel, etc.)
- 🔐 Mejores prácticas y consideraciones de seguridad
🔍 ¿Qué es max_input_vars?
max_input_vars es una directiva de PHP que limita cuántas variables de entrada puede aceptar PHP (a través de POST, GET y REQUEST). Esto protege al servidor de ataques de denegación de servicio por hashing, pero también afecta a operaciones legítimas en plataformas CMS.
Valor predeterminado:
Si superas este límite (por ejemplo, al guardar un menú de WordPress con más de 1000 elementos), PHP corta la entrada, y WordPress falla silenciosamente al guardar todos los cambios.
📌 Cuándo encontrarás el error
- Guardar menús de navegación grandes
- Guardar páginas con muchos campos de formulario
- Usar page builders con diseños complejos
- Plugins como WPML, Elementor, WooCommerce
🛠️ Solucionar el error: 6 métodos probados
✅ 1. Modificar php.ini (mejor método si tienes acceso root o VPS)
Esta es la forma más limpia de cambiar max_input_vars si estás ejecutando tu propio servidor:
Paso 1: Localiza o crea un archivo php.ini (depende del servidor):
Reemplaza 8.1 con tu versión de PHP.
Paso 2: Busca y edita la directiva:
Paso 3: Reinicia tu servidor web:
o
✅ 2. Actualizar .htaccess (para usuarios de Apache con hosting compartido)
Si no puedes acceder a php.ini, intenta editar .htaccess en la raíz de tu instalación de WordPress:
⚠️ Esto solo funciona si mod_php está habilitado. Algunos hosts usan PHP-FPM en su lugar, donde este método no funcionará.
✅ 3. Usar wp-config.php (No siempre efectivo)
WordPress no admite de forma nativa sobrescribir max_input_vars, pero en algunas configuraciones, añadir esto podría funcionar:
Colócalo encima de la línea que dice:
✅ 4. Modificar User php.ini o php_value en cPanel
Si estás usando hosting compartido con cPanel:
- Ve a cPanel > Select PHP Version > Options
- Busca max_input_vars y aumenta a 3000 o más
- Guarda y revisa phpinfo() para confirmar
✅ Funciona al instante — no requiere reinicio.
✅ 5. Usar .user.ini (para entornos PHP-FPM o CGI)
Crea o edita .user.ini en la carpeta raíz de tu WordPress:
Luego reinicia PHP (o espera más de 5 min si el host aplica los cambios automáticamente).
✅ 6. Para servidores NGINX + PHP-FPM
NGINX no usa .htaccess, así que configura PHP mediante el pool de FPM o php.ini.
Edita /etc/php/8.1/fpm/php.ini:
Luego reinicia:
🧪 Cómo confirmar que funciona
Crea un archivo phpinfo.php en la raíz de tu WordPress:
Accede a él en el navegador: https://yourdomain.com/phpinfo.php
Busca max_input_vars y verifica que se haya actualizado.
🧼 No olvides eliminar el archivo después — expone información sensible del servidor.
🛡️ Mejores prácticas
| Recomendación | Razón |
|---|---|
| No establezcas max_input_vars en 999999 | Puede provocar vulnerabilidades de DoS |
| Mantén 3000–5000 | Suficiente para menús grandes/page builders |
| Supervisa los límites de memoria | Más variables de entrada = más uso de memoria |
| Usa phpinfo() o ini_get() para depurar | Evita las suposiciones |
💡 Bonus: Aumentar otros límites relacionados
A veces, este problema viene acompañado de otros límites alcanzados:
Estos también pueden ir en php.ini, .htaccess o .user.ini.
🧭 Reflexiones finales
Entendiendo y solucionando el error max_input_vars en WordPress.El error max_input_vars es un problema sutil pero potencialmente disruptivo en WordPress que a menudo pasa desapercibido, hasta que algo crítico falla. Esta directiva de configuración de PHP controla el número máximo de variables de entrada (como campos de formulario o elementos de menú) que tu servidor procesará en una sola solicitud. Si este límite es demasiado bajo, puede impedir silenciosamente que partes de tu sitio web guarden los cambios correctamente, especialmente en entornos complejos.
Dónde aparece el problema
Este error suele aparecer en los siguientes escenarios:
Menús de WordPress grandes o anidados: al crear estructuras de menú detalladas, solo puede guardarse una parte del menú o los cambios pueden desaparecer después de guardar.
- Sitios web multilingües: plugins como WPML o Polylang dependen en gran medida de envíos de formularios con una gran cantidad de campos de entrada para cada idioma.
- Page builders: herramientas de arrastrar y soltar como Elementor, WPBakery o Divi pueden tener problemas al guardar diseños con muchos elementos o filas.
- Ajustes de temas o plugins: algunos temas y plugins con paneles de configuración avanzados pueden no guardar todos los ajustes correctamente si se supera el límite.
- ¿La peor parte? A menudo no hay ningún mensaje de error visible: los cambios simplemente no se aplican, dejándote preguntándote qué salió mal.



