在一个比较费时的操作中,想把操作记录在浏览器上实时显示出来,用到了flush(),把缓冲中的内容发送到浏览器。但在iis7里面用fastcgi模式配置的PHP怎么都实现不了,结果总是一起显示出来。
0; $i--)
{
echo $i.'
'; @ob_flush(); flush(); sleep(1); }
'; @ob_flush(); flush(); sleep(1); }
上面的代码在IIS的默认设置下是无法逐渐显示结果的。解决办法如下:
打开文件 C:\Windows\System32\inetsrv\config\applicationHost.config ,注意如果你的是64位系统,这个文件就必须用64位的编辑软件打开,32位的软件打开会提示文件不存在,就用系统自带的notepad记事本打开就可以了。找到下面这一段,加入红色的那段代码就行了,也就是PHP这个handler里面加上responseBufferLimit="0"。
代码如下: