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 相关文章推荐
用DBSQL类加快开发MySQL数据库程序的速度
Oct 09 PHP
关于PHP实现异步操作的研究
Feb 03 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
Nov 22 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
php中preg_replace_callback函数简单用法示例
Jul 21 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
Yii框架应用组件用法实例分析
May 15 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代码
2010/08/08 PHP
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
Laravel框架数据库迁移操作实例详解
2020/04/06 PHP
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
jquery获取子节点和父节点的示例代码
2013/09/10 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
解析javascript图片懒加载与预加载的分析总结
2016/10/27 Javascript
Bootstrap栅格系统学习笔记
2016/11/25 Javascript
vue.js绑定class和style样式(6)
2016/12/09 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
深入理解Python中的元类(metaclass)
2015/02/14 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
pandas的排序和排名的具体使用
2019/07/31 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
Python字符串的修改方法实例
2019/12/19 Python
Python属性和内建属性实例解析
2020/01/14 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
小学班级特色活动方案
2014/08/31 职场文书
实习指导教师评语
2014/12/30 职场文书
实习协议书
2015/01/27 职场文书
管理者们如何制定2019年的工作计划?
2019/07/01 职场文书
聊聊golang中多个defer的执行顺序
2021/05/08 Golang