PHP-FPM环境下ob_flush与flush函数不生效的问题求助
PHP-FPM环境下ob_flush与flush函数不生效的问题求助
各位大佬好,我碰到个头疼的问题,想请大家帮忙看看:
我写了一段PHP代码,原本期望每隔1秒依次输出1到10的数字,但实际运行时却是等整个循环跑完后,一次性把所有结果都输出了。奇怪的是这段代码在CGI模式下完全正常,换到PHP 8.3 + Apache 2.4的FPM环境就失效了。
我的代码如下:
<?php for ($i = 1; $i <= 10; $i++){ sleep(1); echo "$i\n"; ob_flush(); flush(); }
为了解决这个问题,我试了好几种配置和函数调用组合,但全都不管用,这些尝试包括:
ini_set('output_buffering','Off'); ini_set('zlib.output_compression',0); ini_set('implicit_flush',1); ob_end_clean(); set_time_limit(0); ob_implicit_flush(true); ob_end_flush(); ob_start();
有没有大佬知道这该怎么解决呀?
备注:内容来源于stack exchange,提问作者Brooks Keith
相关产品推荐
相关产品推荐

