php flush无效,IIS7下php实时输出的方法


Posted in PHP onAugust 25, 2016

在一个比较费时的操作中,想把操作记录在浏览器上实时显示出来,用到了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 accessPolicy="Read, Script">

<add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\PHP\php-cgi.exe" resourceType="Either" responseBufferLimit="0" />

现在你可以试一下,如果还是不行的话把php.ini里面的output_buffering = Off。

最后一点很重要,在不同的浏览器中,也用有不一样的结果。IE里面应该没什么问题了,如果是用chrome的话,每个echo出来的内容必须带有html,不然也是不行的,还有如果echo的内容太短也是实现不了这个效果的,可以在代码前先输出一段空格,如:echo str_pad(' ', 1050); chrome好像要先输出1000多个字符才会有这个效果,不行的话自己多尝试。

PHP 相关文章推荐
第四节--构造函数和析构函数
Nov 16 PHP
PHP 5.0对象模型深度探索之属性和方法
Mar 27 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
Sep 30 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 PHP
PHP单例模式模拟Java Bean实现方法示例
Dec 07 PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 22 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
php 的反射详解及示例代码
Aug 25 #PHP
php 输入输出流详解及示例代码
Aug 25 #PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 #PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 #PHP
PHP sleep()函数, usleep()函数
Aug 25 #PHP
PHP页面间传递值和保持值的方法
Aug 24 #PHP
PHP中explode函数和split函数的区别小结
Aug 24 #PHP
You might like
php+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
PHP常用代码大全(新手入门必备)
2010/06/29 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2011/12/05 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
微信支付开发动态链接Native支付
2016/07/12 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
javascript innerText和innerHtml应用
2010/01/28 Javascript
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
Python中用post、get方式提交数据的方法示例
2017/09/22 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
Python中dict和set的用法讲解
2019/03/28 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
用python制作个音乐下载器
2021/01/30 Python
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
房地产项目策划书
2014/02/05 职场文书
商场促销活动方案
2014/02/08 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
毕业生学校组织意见
2015/06/04 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers