Lo siento si esto es duplicado, creo que lo sería, pero no pude encontrar nada.
Tengo una aplicación flexible en la que publico datos en un servidor php / mysql a través de IE. Todavía no me he encontrado con ningún problema, pero saber esto de antemano podría ahorrarme mucha frustración y trabajo. ¿Existe un límite de tamaño para publicar datos a través de http?
Este artículo dice que no: http://www.netlobo.com/ie_form_submit.html
Esta discusión dice que sí: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method
Y todo va y viene lo que puedo encontrar en línea. Por lo tanto , limite las respuestas a números probados / verificados personalmente.
Quiero publicar una cadena XML que puede ser bastante grande (digamos hasta 5 mb).
Si hace alguna diferencia: el navegador siempre será IE (nuestro producto lo requiere), la publicación proviene y httpService en flex, el servidor web es php, DB es mySql.
fuente
Respuestas:
Depende de la configuración del servidor. Si está trabajando con PHP en Linux o similar, puede controlarlo usando el archivo de configuración .htaccess, de esta manera:
Y sí, puedo dar fe personalmente del hecho de que esto funciona :)
Si está utilizando IIS, no tengo idea de cómo establecería este valor en particular.
fuente
post_max_size
configuración? Soy bastante nuevo en php y no puedo encontrarlo en ninguna parte de nuestra base de código (usando el proceso de búsqueda de dreamWeaver). Preguntaría a nuestros administradores de sistemas pero son malos. :-PLa porción de URL de una solicitud (GET y POST) puede estar limitada tanto por el navegador como por el servidor; en general, el tamaño seguro es de 2 KB, ya que casi no hay navegadores o servidores que usen un límite menor.
El cuerpo de una solicitud (POST) normalmente * está limitado por el servidor en función del tamaño del byte para evitar un tipo de ataque DoS (tenga en cuenta que esto significa que el escape de caracteres puede aumentar el tamaño del byte del cuerpo). La configuración del servidor más común es de 10 MB, aunque todos los servidores populares permiten aumentar o disminuir esto a través de un archivo o panel de configuración.
* Existen algunas excepciones con teléfonos celulares más antiguos u otros navegadores de dispositivos pequeños; en esos casos, es más una función del espacio de almacenamiento dinámico reservado para este propósito en el dispositivo que cualquier otra cosa.
fuente
curl
Además, en el archivo PHP.INI hay una configuración:
que en mi versión de PHP: 5.4.16 por defecto es 1000.
Del manual: "Cuántas variables de entrada se pueden aceptar (el límite se aplica a $ _GET, $ _POST y $ _COOKIE superglobal por separado)"
Ref .: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
fuente
Puede publicar una gran cantidad de datos configurando la variable php.ini: el
max_input_vars
tamaño predeterminado de esta variable es 1000, pero si desea enviar una gran cantidad de datos, debe aumentar el tamaño en consecuencia. Si no puede establecer el tamaño desde ini_set, debe hacerlohtaccess
o haciendo cambios directamente en el archivo php.ini.fuente
Como señaló David, iría con KB en la mayoría de los casos.
Nota: mi formulario es simple, solo unos pocos cuadros de texto, no texto largo.
fuente
De forma predeterminada, la solicitud de publicación tiene un tamaño máximo de 8 mb. Pero puede modificarlo según sus requisitos. La modificación se puede hacer abriendo el archivo php.ini (configuración de configuración de php).
Encontrar
reemplace 8 de acuerdo a sus requerimientos.
fuente
Depende del servidor http decidir si hay un límite. El producto en el que trabajo permite al administrador configurar el límite.
fuente
Una de las mejores soluciones para esto, no utiliza múltiples o más de 1,000 campos de entrada. Puede concatenar múltiples entradas con cualquier carácter especial, por ej.
@
.Mira esto:
Usando cualquier script (JavaScript o JScript),
Con esto, evitarás el
max_input_vars
problema. Si aumentamax_input_vars
el archivo php.ini, eso es perjudicial para el servidor porque usa más memoria caché del servidor, y esto a veces puede bloquear el servidor.fuente
max_input_vars
opciónphp.ini
con esto. No exactamente, lo que se preguntó, pero sigue siendo útil.Para desarrolladores que no pueden cambiar la configuración de php debido al alojamiento web. (Mi configuración 256 MB de tamaño máximo, 1000 variables máximas)
Tuve el mismo problema de que solo 2 de cada 5 objetos de big data (matrices asociativas) con subestructuras se recibieron en el lado del servidor.
Descubrí que toda la subestructura se está "aplanada" en la solicitud posterior. Entonces, un objeto se convierte en cientos de variables literales. Al final, en lugar de 5 variables de objeto, en realidad está enviando docenas de cientos de variables elementarias.
La solución en este caso es serializar cada una de las subestructuras en String. Luego se recibe en el servidor como 5 variables de cadena. Ejemplo:
{variable1:JSON.stringify(myDataObject1),variable2:JSON.stringify(myDataObject2)...}
fuente