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 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
php 应用程序安全防范技术研究
Sep 25 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
Jun 03 PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 PHP
自己写的php curl库实现整站克隆功能
Feb 12 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
thinkphp中的url跳转用法分析
Jul 12 PHP
PHP获取访问页面HTTP状态码的实现代码
Nov 03 PHP
PHP面向对象之里氏替换原则简单示例
Apr 08 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
php curl发送请求实例方法
Aug 01 PHP
php文件后缀不强制为.php的实操方法
Sep 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
PHP5中MVC结构学习
2006/10/09 PHP
用php获取远程图片并把它保存到本地的代码
2008/04/07 PHP
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
PHP文件操作详解
2016/12/30 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
使用jquery动态加载js文件的方法
2014/12/24 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
2016/07/11 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
[01:42]辉夜杯战队访谈宣传片—FANTUAN
2015/12/25 DOTA
Python切片索引用法示例
2018/05/15 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
python 异步async库的使用说明
2020/05/04 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
简述DNS进行域名解析的过程
2013/12/02 面试题
公司新年寄语
2014/04/04 职场文书
高中学生评语大全
2014/04/25 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
聘任书的格式及模板
2019/10/28 职场文书
基于flask实现五子棋小游戏
2021/05/25 Python
python实现简单的井字棋
2021/05/26 Python
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL