Cómo aumentar la variable POST máxima en PHP?


Estoy usando WAMP en mi máquina local, cuando se envía un FORMULARIO(method="POST") con 2000 campos de entrada, solo puedo leer la variable 1001 _POST. es decir, con Netbeans debugger puedo ver claramente que el tamaño de _POST siempre es 1001 si hay más de 1001 campos de entrada en el formulario.

Usé esto http://ideone.com/GAw14 código java para generar formulario con N campos de entrada y probado.

Lo mismo está funcionando bien en otra máquina (WAMP), donde puedo ver todo el POST variable.

Por favor, ayúdame a resolver mi problema.

Author: Anantha Krishnan, 2012-02-22

5 answers

PHP 5.3.9 introdujo la opción de configuración max_input_vars, que está predeterminada a un valor de 1000. Consulte la sección Runtime Configuration del manual de PHP. El valor predeterminado y el registro de cambios se encuentran en la parte superior de la página.

El valor se puede cambiar actualizando el php del servidor.ini, añadiendo un .archivo htaccess, o añadiendo una línea a httpd.conf .

 78
Author: lightster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-22 17:17:34

Si está utilizando Suhosin con PHP reforzado, podría estar alcanzando un límite máximo de variables que impone. En tu php.ini, solo puede agregar

[suhosin]
suhosin.request.max_vars = 1000
suhosin.post.max_vars = 1000

Cambiando 1000 a lo que quieras y reinicia tu servidor web.

Me encontré con esto en la página de permisos de Drupal cuando había muchos módulos instalados con un gran número de roles, lo que resultó en un montón de casillas de verificación. Sólo salvaría un cierto número de ellos antes de que nada después se acaba de obtener ignorar.

Suena como que esto probablemente no es tu problema, pero ya que es bastante probable que alguien en el futuro pueda tropezar con esto al buscar algo relacionado, seguiré adelante y arrojaré esto ya que me tomó años averiguar cuándo estaba perplejo.

 17
Author: jprofitt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-22 17:06:55

Resolví mi problema de entradas max _POST max agregando lo siguiente a php.ini:

max_input_vars = 5000
suhosin.request.max_vars = 5000
suhosin.post.max_vars = 5000

Tenga en cuenta la suhosin.solicitud.max_vars también.

 4
Author: JaPeK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-24 11:49:48

Resolví este problema. Abre el PHP.Archivo de configuración INI y añadir estas líneas

[suhosin]

Suhosin.post.max_vars = 20000

Suhosin.solicitud.max_vars = 20000

 1
Author: Robson Mtos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-12 23:13:40

Sospecho que el problema es con la cantidad de datos que vienen con su solicitud POST. No hay ninguna configuración que limite el número de vars $_POST que se pueden establecer. Sin embargo, hay un límite de memoria para los datos POST que es de 8MB por defecto.

En su php.archivo ini intente modificar el valor de post_max_size y establézcalo en un valor más alto. No olvide reiniciar apache después de realizar el cambio.

 -1
Author: Aleks G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-22 17:01:11