问与答 为什么 php 使用 flush 时不能动态输出结果

ricky · 2019-01-10 · 7 次阅读

想实现动态输出结果,代码如下:

while ($i<100)
{
    $i++;
    echo "{$i}<br>";
    ob_flush();
    flush();
    sleep(1);
}

为什么不能动态输出结果?

共收到 1 条回复

首先查看一下 nginx 的配置:

fastcgi_buffer_size 64k;

修改一下代码:

$i = 0;
ob_start();
while($i<10)
{
    $i++;
    echo str_repeat(' ', 1024*64);
    echo "{$i}<br>";
    ob_flush();
    flush();
    sleep(1);
}

解决

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册