Heim > Backend-Entwicklung > PHP-Tutorial > 在Nginx和php-fpm的环境中有办法立即输出缓存区内容的吗?

在Nginx和php-fpm的环境中有办法立即输出缓存区内容的吗?

WBOY
Freigeben: 2016-06-06 20:38:50
Original
856 Leute haben es durchsucht

有如下代码:

<code>for($i=1;$i0,'msg'=>'这是测试的输出——'.$i));
        ob_flush();
        flush();
        sleep(1);
    }
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

按代码理解似乎应该是每过1秒钟,将输出一次json数据
而使用nginx作为web服务器时,会发现上面的代码,在程序运行10s后一次性输出了
php.ini中的output_buffering = 4096
后来又按网上说的尝试使用了ob_end_clean(); ob_implicit_flush(true);这些函数,但还是没有效果

回复内容:

有如下代码:

<code>for($i=1;$i0,'msg'=>'这是测试的输出——'.$i));
        ob_flush();
        flush();
        sleep(1);
    }
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

按代码理解似乎应该是每过1秒钟,将输出一次json数据
而使用nginx作为web服务器时,会发现上面的代码,在程序运行10s后一次性输出了
php.ini中的output_buffering = 4096
后来又按网上说的尝试使用了ob_end_clean(); ob_implicit_flush(true);这些函数,但还是没有效果

<code>flush();
ob_flush();
</code>
Nach dem Login kopieren

WAMP下:

<code>for($i=1;$i0,'msg'=>'这是测试的输出——'.$i));
        ob_flush();
        flush();
        sleep(1);
    }
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

我试了试,这样是可以的。
http://segmentfault.com/q/1010000000447596

Ngnix下:
关闭php.ini下的:zlib.output_compression = Off
关闭nginx.conf下的:gzip off
修改代码为echo str_pad(' ', 64000);

<code>function  test(){
    header("Content-Encoding: none\r\n");
    ini_set('zlib.output_compression', 'off');
    ob_start();
    for($i=0;$i";
        ob_flush();
        flush();
        sleep(1);
    }
}
</code>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage