Como fazer sistema não "buffar"?

Enviada por João Gabriel C. Laass (JGCL) 
João Gabriel C. Laass (JGCL)
Como fazer sistema não "buffar"?
17 de May de 2007 às 06:04PM
Pessoal, usando o seguinte exemplo:

<?php
// Hora atual
echo date('h:i:s') . "\n";

// Dorme por 10 segundos
sleep(10);

// Acorde!
echo date('h:i:s') . "\n";
?>

Como fazer para ele não "buffar" e mostrar a hora atual antes do processo completar?
Digo: mostra a hora atual, espera 10 segundos, mostra a hora final "acorde".
Pq? pq no exemplo atual ele faz todo o processo e mostra as das horas ao mesmo tempo.

t+
Marcos Regis
Re: Como fazer sistema não &quot;buffar&quot;?
17 de May de 2007 às 07:29PM
Isso é a configuração do seu php.

tente assim
<?php
// Hora atual
echo date('h:i:s') . "\n";
flush();
// Dorme por 10 segundos
sleep(10);

// Acorde!
echo date('h:i:s') . "\n";
?>

NOTA: Módulos de servidor para o Apache como o mod_gzip podem fazer buffer por si o que fará com que flush() não resulte em que os dados sejam enviados imediatamente para o cliente.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.