我应该如何使用PHP Flush?

时间:2019-04-06 21:10:53

标签: php cloudflare flush

有人知道如何进行以下工作吗?

<?php
header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
    echo $i . '<br />';
    flush();
    ob_flush();
    sleep(1);
}
echo 'End ...<br />';

1到10在10s之后一次打印,而不是相隔1s一次打印。

2 个答案:

答案 0 :(得分:0)

添加

@ini_set('zlib.output_compression', 0);
header("Content-Encoding: none");

在脚本顶部修复了该问题。

答案 1 :(得分:-2)

我认为您必须更改顺序:

ob_flush();
flush();

无论如何,客户端的Web服务器和/或浏览器/查看器也可以缓冲输出。而且,如果发送压缩的数据(通过gzip,服务器设置),数据发送也会延迟。