Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] max_input_vars

Estas en el tema de max_input_vars en el foro de PHP en Foros del Web. Buenas tardes, estoy intentando aumentar el valor de max_input_vars con set_ini() en mi código php, versión 5.3.1 pero no surte efecto. Para ver si había ...
  #1 (permalink)  
Antiguo 03/06/2016, 11:01
 
Fecha de Ingreso: abril-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 1
max_input_vars

Buenas tardes, estoy intentando aumentar el valor de max_input_vars con set_ini() en mi código php, versión 5.3.1 pero no surte efecto.

Para ver si había algo mal o no, intente cambiar max_execution_time y funcionó.

He leído que no todas las configuraciones del php se pueden cambiar con set_ini(), pero max_input_vars es una de las que si se pueden camiar según el manual de php (http://php.net/manual/en/ini.list.php), aunque aclara que a partir de la versión 5.3.9

Si ejecuto echo ini_get('max_input_vars') me muestra el valor por defecto que viene en 1000, así que me imagino que ini_set('max_input_vars','3000') debería funcionar, pero no.

Si el error esta en las versiones de php, como hago para cambiar este valor desde el código php? Sin tener que modificar el php.ini ni el htacces...

Desde ya muchas gracias
  #2 (permalink)  
Antiguo 03/06/2016, 11:11
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: max_input_vars

sera mejor que contactes a tu proveedor, asi te evitas problemas futuros... no tienes en tu panel la opción de configuración de PHP???... usualmente aparece ahi, para realizar el cambio, ya si no aparece, tendras que contactar al proveedor(es mejor y no deberia haber problema por aumentartelo, claro no exagerado)
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 03/06/2016, 11:32
 
Fecha de Ingreso: abril-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 1
Respuesta: max_input_vars

por ahora solo estoy trabajando en local con apache, pero quiero hacer el cambio en el código php, haciendolo en el php.ini ya lo he probado y funciona.
  #4 (permalink)  
Antiguo 04/06/2016, 07:30
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: max_input_vars

max_execution_time no puede ser cambiado mediante set_ini ya que usa el modo PHP_INI_PERDIR
Cita:
PHP_INI_PERDIR: Entry can be set in php.ini, .htaccess, httpd.conf or .user.ini (since PHP 5.3)
Te recomiendo que leas el manual sobre que modalidades puedes utilizar para afectar la configuración de php: http://php.net/manual/en/configurati...nges.modes.php
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 04/06/2016, 15:54
 
Fecha de Ingreso: abril-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 1
Respuesta: max_input_vars

Cita:
max_execution_time integer
This sets the maximum time in seconds a script is allowed to run before it is terminated by the parser. This helps prevent poorly written scripts from tying up the server. The default setting is 30. When running PHP from the command line the default setting is 0.

The maximum execution time is not affected by system calls, stream operations etc. Please see the set_time_limit() function for more details.

You can not change this setting with ini_set() when running in safe mode. The only workaround is to turn off safe mode or by changing the time limit in the php.ini.

Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a Timeout directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.
Eso es lo que dice en el manual, te dejo el link: http://php.net/manual/en/info.config...execution-time

De todas formas esto no es importante para mi, pero si me sirvió para darme cuenta de que max_input_vars es PHP_INI_PERDIR, por lo tanto no podré modificarlo con ini_set().

Como alternativa veré la forma de crear un array con las variables a enviar, para que no sean tantas!!

Gracias a todos!!
  #6 (permalink)  
Antiguo 05/06/2016, 15:25
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: max_input_vars

Desconozco tu proyecto, pero 1000 variables de entrada me parece un número más que suficiente para el 90% de los proyectos, creo que solo en casos muy puntuales esa cantidad puede ser insuficiente o simplemente es un error de planteamiento.

En cualquier caso si al final necesitas pasar esa gran cantidad de variables y lo vas hacer mediante array ten en cuenta que otras directivas pueden entrar en juego:

Cita:
max_input_time
Establece el tiempo máximo en segundos que se permite a un script analizar datos de entrada, como POST y GET. La medición comienza en el momento en que PHP es invocado en el servidor y finaliza cuando la ejecución comienza.

max_input_nesting_level
Establece el máximo de profundidad de anidamiento para variables de entrada (p.ej. $_GET, $_POST.)
__________________
Unset($vida['malRollo']);
  #7 (permalink)  
Antiguo 06/06/2016, 06:38
 
Fecha de Ingreso: abril-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 1
Respuesta: max_input_vars

1000 son mas que suficiente para la gran mayoría de los proyectos, estamos de acuerdo en eso. Quizás haya un error de planteamiento, no lo sé en este momento, pero el usuario pide una planilla en donde pueda cargar los 20 raídos (unidad de medida del producto cosechado) que puede armar cada cuadrilla, que pueden conformarse con hasta 100 (o mas) empleados.

Al estar acostumbrados a trabajar en una planilla impresa en una hoja de papel e intentar que la informatización del trabajo que hacían en papel no sea un cambio tan brusco, pensamos en presentárselos de la misma forma. Así que aquí estamos.

El array en este caso sería uno solo, asociativo, que contenga todos los raídos de la cuadrilla, con su respectivo empleado. Googleando encontré la forma de armar y enviar un array con los valores de 1500 textbox, parece ir bien rumbeado el tema...

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:42.