PHP速学教程(入门到精通)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
本文主要介绍了php flush无效,iis7下php实时输出的方法,需要的朋友可以参考下。希望对大家有所帮助。
在一个比较费时的操作中,想把操作记录在浏览器上实时显示出来,用到了flush(),把缓冲中的内容发送到浏览器。但在iis7里面用fastcgi模式配置的php怎么都实现不了,结果总是一起显示出来。
for ($i=10; $i>0; $i--) { echo $i.'<br>'; @ob_flush(); flush(); sleep(1); }
上面的代码在IIS的默认设置下是无法逐渐显示结果的。解决办法如下:
打开文件 C:\Windows\System32\inetsrv\config\applicationHost.config ,注意如果你的是64位系统,这个文件就必须用64位的编辑软件打开,32位的软件打开会提示文件不存在,就用系统自带的notepad记事本打开就可以了。找到下面这一段,加入红色的那段代码就行了,也就是php这个handler里面加上responseBufferLimit="0"。
<handlers><add></add></handlers>
现在你可以试一下,如果还是不行的话把php.ini里面的output_buffering = Off。
最后一点很重要,在不同的浏览器中,也用有不一样的结果。IE里面应该没什么问题了,如果是用chrome的话,每个echo出来的内容必须带有html,不然也是不行的,还有如果echo的内容太短也是实现不了这个效果的,可以在代码前先输出一段空格,如:echo str_pad(' ', 1050); chrome好像要先输出1000多个字符才会有这个效果,不行的话自己多尝试。
相关推荐:
windows server 2008 php IIS 使用 uploadify上传大文件 无法上传解决方法
php免费学习视频:立即学习
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!
已抢6799个
抢已抢91603个
抢已抢14417个
抢已抢50597个
抢已抢190549个
抢已抢86251个
抢