我该如何使用PHP Flush? [重复]

问题描述 投票:0回答:2

这个问题在这里已有答案:

有谁知道如何做以下工作?

<?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 />';

在10秒之后一次性打印1到10,而不是一个接一个地打印1秒。

php cloudflare flush
2个回答
0
投票

添加

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

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


-2
投票

在我看来,你必须改变顺序:

ob_flush();
flush();

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

© www.soinside.com 2019 - 2024. All rights reserved.