Recibo un max_input_vars
mensaje de error.
Entiendo que hay una php.ini
configuración que puede cambiar esto a partir de la versión 5.3.9, sin embargo, estoy ejecutando la versión 5.1.6.
Cuando veo la información de configuración de mi servidor 5.1.6, muestra que el max_input_vars
valor es 1000.
Mi pregunta es: aunque estoy ejecutando 5.1.6, veo esta configuración de phpinfo()
pero no está en el php.ini
archivo. ¿Significa esto que el valor está codificado en esta versión de PHP y no se puede cambiar?
max_input_vars
en absoluto en el código fuente de PHP 5.1.6, así que no estoy seguro de cómo lo ve en la salida de phpinfo (). Hasta donde yo sé, no existía antes de 5.3.9 ...5.1.6 -> 5.3.3
, luego degradar de nuevo a5.1.6
. Me tiró porque esa opción no existe en el5.1.6
php.ini
archivo. Agregué la línea, aumenté el número y mi error / problema desapareció.Respuestas:
Puede agregarlo a php.ini y debería funcionar; solo lo probó en PHP 5.3.6.
fuente
Referencia en PHP net:
http://php.net/manual/en/info.configuration.php#ini.max-input-vars
Tenga en cuenta que no puede configurar esta directiva en tiempo de ejecución con la función
ini_set(name, newValue)
, por ejemploini_set('max_input_vars', 3000);
No funcionará.
Como se explica en la documentación, esta directiva solo se puede configurar por alcance de directorio, lo que significa a través del archivo .htaccess, httpd.conf o .user.ini (desde PHP 5.3).
Ver http://php.net/manual/en/configuration.changes.modes.php
Agregar la directiva en php.ini o colocar las siguientes líneas en .htaccess funcionará:
php_value max_input_vars 3000 php_value suhosin.get.max_vars 3000 php_value suhosin.post.max_vars 3000 php_value suhosin.request.max_vars 3000
fuente
max_input_vars = 3000
(+ signo igual).Acabo de intentar esta solución con 5.3.3 y no hay cambios. Buscando en Google encontré esta página web http://anothersysadmin.wordpress.com/2012/02/16/php-5-3-max_input_vars-and-big-forms/ que detalla otras configuraciones que deben cambiarse si su servidor usa el parche Suhosin que hace Apache bajo Debian.
El sitio explica:
Lo probé (agregué configuraciones a php.ini tanto en / etc / php5 / apache2 como / etc / php5 / cli, y reinicié Apache con éxito) pero aún no hay variable max_input_vars en phpinfo.
Algunos sitios apuntan a PHP 5.3.9 como la primera versión de PHP en la que tomará este cambio, por lo que mi culpa no es RTM correctamente en primer lugar, aunque estoy interesado en ver personas que informan que funciona en la versión anterior a 5.3.3 pero por debajo de 5.3.9.
fuente
Necesita descomentar el valor max_input_vars en el archivo php.ini y aumentarlo (exp. 2000), también no olvide reiniciar su servidor, esto ayudará en un 99,99%.
fuente
sudo service apache2 restart
. ¿Necesito reiniciar Ubuntu?;
y cambié el valor a 3000. Es probable que el problema fuera el caché del navegador. Se cerró PHPMyAdmin y se abrió en una nueva pestaña y ahora funciona. ¡Gracias!Es 2018 ahora Y me quedé atascado en este problema cuando debo enviar una solicitud que excede el
max_input_vars
. Y se me ocurrió una solución que los novatos como yo se olvidó de reiniciar el servicio php fpm después de cambiar elmax_input_vars
parámetro. porque solo intenté reiniciar elapache2
servicio, pero no php fpm/etc/php/7.0/fpm/php.ini
y establece el número que deseesmax_input_vars = 4000
sudo service php7.0-fpm restart
Espero que ayude
Probado en
Debian Stretch
,php7.0
fuente
El uso de esta directiva mitiga la posibilidad de ataques de denegación de servicio que utilizan colisiones hash. Si hay más variables de entrada que las especificadas por esta directiva, se emite una E_WARNING y se truncan más variables de entrada de la solicitud.
Puedo sugerir no extender el valor predeterminado que es 1000 y extender la funcionalidad de la aplicación serializando la solicitud o enviando la solicitud por bloques. De lo contrario, puede extender esto a la configuración necesaria.
Definitivamente necesita configurarse en php.ini
fuente
Tenga en cuenta que debe poner esto en el archivo ".user.ini" en Centos7 en lugar de "php.ini" que solía funcionar en Centos6. Puede poner ".user.ini" en cualquier subdirectorio para afectar solo a ese directorio.
.user.ini:
max_input_vars = 3000
Probado en Centos7 y PHP 5.6.33.
fuente
php_value max_input_vars 6000
"Coloque esta línea en el archivo .htaccess de su sitio".
fuente
Nuevo bloque de Cpanels para ver el archivo .htaccess o si agrega un .user.ini no podrá verlo. pero con un pequeño truco puedes hacer que funcione. Edite, por ejemplo, wp-config.php y en la barra de URL reemplace wp-config.php por .htaccess ahora puede pegar los valores y guardarlos. ingrese la descripción de la imagen aquí
fuente
Acabo de tener el mismo problema al agregar elementos de menú a Wordpress. Estoy usando Wordpress 4.9.9 en Ubuntu 18.04, PHP 7.0. Simplemente descomenté la siguiente línea y la aumenté a 1500 en
/etc/php/7.0/apache2/php.ini
; How many GET/POST/COOKIE input variables may be accepted<br> max_input_vars = 1500
Luego usó lo siguiente para efectuar el cambio:
sudo apache2ctl configtest #(if it does not return ok Apache will not start) sudo service apache2 reload
Espero que ayude.
fuente
"Mensaje de PHP: Advertencia de PHP: Desconocido: Las variables de entrada excedieron 1000. Para aumentar el límite, cambie max_input_vars en php.ini.
Este parámetro de configuración de php max_input_vars afectará no solo sus parámetros GET / POST / COOKIES sino que también controlará cualquier entrada de formulario.
Para establecer o cambiar su valor, siga los pasos a continuación.
1) verifique la configuración / valor existente viéndolo en su archivo php.ini Localice el archivo php.ini usando
<?php echo getinfo(); ?>
encuentre la siguiente clave: Archivo de configuración cargado: /etc/php/5.6/fpm/php.ini
2) Abra el archivo php.ini en modo editable y busque max_input_vars Esta línea puede ser comentada en su configuración predeterminada existente con el valor predeterminado de 1000, así que elimínelo; para descomentarlo y editarlo con su valor adecuado, por ejemplo, 2500.
3) Guarde el archivo y reinicie los servicios de PHP usando a continuación
sudo service php5.6-fpm restart
Del mismo modo, puede actualizar cualquier otra configuración PHP similar a su gusto.
fuente
Solo para complementar. En un servidor compartido usando mod_suphp estaba teniendo el mismo problema.
Declarar 4 max_input_vars (incluido suhosin), no lo resolvió, simplemente siguió truncando en 1000 vars (predeterminado), y declarando "php_value max_input_vars 6000" en .htaccess arrojó el error 500.
Lo que resolvió fue agregar lo siguiente en .htaccess, que aplica el archivo php.ini de forma recursiva a esa ruta
fuente
Sí, agréguelo a php.ini, reinicie Apache y debería funcionar.
Puede probarlo sobre la marcha si lo desea con
ini_set("max_input_vars",100)
fuente