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

ricky · 2019-01-10 20:04:43 · 热度: 35

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

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

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

猜你喜欢:
共收到 1 条回复
老猫是我 #1 · 2019-01-10 20:34:17

首先查看一下 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);
}

解决

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