Ho una chiamata ajax a somefile.php. voglio che lo script php faccia un compito semplice e che rimandi i dati all'utente, e solo che eseguo compiti molto dispendiosi in termini di tempo. quindi ho bisogno di svuotare l'output dopo il primo compito semplice. non funziona, probabilmente perché ho abilitato gzip.Per php flush - come disabilitare gzip per file specifici?
Io sicuramente non voglio disabilitare gzip su tutto il vhost, e anche non in tutte le cartelle in cui è presente somefile.php. voglio solo disabilitarlo per questo specifico file. è possibile?
EDIT:
questo è quello che ho incluso nel mio conf apache:
<FilesMatch \.php$>
SetEnv no-gzip 1
</FilesMatch>
questo è il mio 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);
}
?>
non funziona. vedo ancora tutta l'uscita insieme dopo 10 secondi.
Se è il tuo server web che gestisce la compressione gzip, penso che non puoi disabilitarlo via PHP. – noli
Forse guarda questo: http://stackoverflow.com/questions/1922934/how-to-disable-mod-deflate-in-apache2 – noli