Tengo una llamada ajax a somefile.php. Quiero que el script php haga una tarea simple y que envíe datos al usuario, y solo que realice tareas que consuman mucho tiempo. entonces necesito enjuagar la salida después de la primera tarea simple. no funciona, probablemente porque tengo gzip habilitado.Para php flush: cómo desactivar gzip para archivos específicos?
Definitivamente no quiero deshabilitar gzip en todo el vhost, y tampoco en toda la carpeta donde está somefile.php. solo quiero deshabilitarlo para este archivo específico. ¿es eso posible?
EDIT:
esto es lo que he incluido en mi configuración del Apache:
<FilesMatch \.php$>
SetEnv no-gzip 1
</FilesMatch>
esta es mi script PHP:
<?php
$sucesss = @apache_setenv('no-gzip', 1);
@ini_set('zlib.output_compression', 0);
@ini_set('implicit_flush', 1);
ob_start();
for($i=0;$i<10;$i++)
{
echo 'printing...';
ob_flush();
flush();
sleep(1);
}
?>
no funciona. Todavía veo toda la salida juntos después de 10 segundos.
Si es su servidor web el que maneja la compresión gzip, creo que no puede deshabilitarlo a través de PHP. – noli
Quizás vea esto: http://stackoverflow.com/questions/1922934/how-to-disable-mod-deflate-in-apache2 – noli