Estoy tratando de proporcionar un análisis en vivo de una carga de archivo en CGI y mostrar los datos en la pantalla mientras se cargan.Apache2 y CGI: ¿cómo evitar que Apache guarde en búfer los datos POST?
Sin embargo, Apache2 parece querer esperar a que se complete la POST completa antes de enviar nada a la aplicación CGI.
¿Cómo puedo forzar a Apache2 a detener el almacenamiento en búfer de la POST en mi aplicación CGI?
EDITAR
Parece ser que en realidad es la salida del CGI que está siendo amortiguada. Empecé a transmitir los datos a un archivo temporal para ver su progreso. Eso, y tengo otro problema.
1) La salida se está almacenando en el búfer. He intentado SetEnvIf (y simplemente SetEnv) para "! Nogzip", "nogzip" y "! Gzip" sin éxito (dentro de la definición del Directorio CGI).
2) Apache2 parece no estar leyendo la salida del CGI hasta que finalice el proceso CGI? Observé que mi aplicación CGI (enrojecida o no) colgaba permanentemente en una línea "fwrite (..., stdout)" alrededor de los 80K.
EDITAR
bien, Firefox está jugando conmigo. Si envío un archivo de 150K, entonces no hay un bloqueo CGI alrededor de 80K. Si el archivo es 2G, entonces hay un bloqueo. Entonces, Firefox no está leyendo el resultado del servidor mientras está tratando de enviar el archivo ... ¿hay algún encabezado o tipo de contenido alternativo para cambiar ese comportamiento?
EDITAR
Está bien, supongo que el bloqueo de la producción CGI en archivos de gran tamaño no es importante en realidad. ¡No necesito repetir el archivo! Estoy depurando un problema causado por las herramientas de depuración. :)
Supongo que esto funciona bastante bien entonces. ¡Gracias!
NOTA FINAL
Así como una nota ... la razón por la que pensé fue Apache 2 buffering de entrada fue que siempre me dieron una variable de entorno "Content-Length". Creo que FireFox es lo suficientemente inteligente como para precalcular la duración del contenido de una carga de formulario multiparte y Apache2 estaba pasando eso. Pensé que Apache2 estaba almacenando en búfer la entrada e informando la longitud misma.
Estoy probando la línea! Nogzip sin mucho éxito. También ahora tengo un problema de salida stdout, como se detalla anteriormente. – darron
Dado que era un problema de salida después de todo, y la información de DEFLATE es bastante útil, estoy marcando esta como respuesta. – darron
Sí, la salida no era necesaria. Lo habilité para la depuración, y me hizo tropezar un poco. El plan fue todo el tiempo para comentarios de AJAX. En realidad, voy a tratar de analizar y mostrar el archivo tal como aparece ... debería verse muy bien. Menor, pero ordenado. – darron