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 相关文章推荐
php include和require的区别深入解析
Jun 17 PHP
解析func_num_args与func_get_args函数的使用
Jun 24 PHP
php反射应用示例
Feb 25 PHP
PHP通过插入mysql数据来实现多机互锁实例
Nov 05 PHP
php读取文件内容到数组的方法
Mar 16 PHP
php实现递归的三种基本方式
Jul 04 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
May 18 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
PHP实现网站访问量计数器
Oct 27 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 PHP
浅谈php的TS和NTS的区别
Mar 13 PHP
Laravel find in set排序实例
Oct 09 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
php 什么是PEAR?(第三篇)
2009/03/19 PHP
PHP 9 大缓存技术总结
2015/09/17 PHP
Yii2单元测试用法示例
2016/11/12 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
关于jQuery UI 使用心得及技巧
2012/10/10 Javascript
javascript使用定时函数实现跳转到某个页面
2013/12/25 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
2016/07/26 NodeJs
AngularJS教程之环境设置
2016/08/16 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
微信小程序组件之srcoll-view的详解
2017/10/19 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
Python图像灰度变换及图像数组操作
2016/01/27 Python
Python文件操作基础流程解析
2020/03/19 Python
python爬虫要用到的库总结
2020/07/28 Python
用python绘制樱花树
2020/10/09 Python
Hotels.com中国区:好订网
2016/08/18 全球购物
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
领导干部廉政自律承诺书
2014/05/26 职场文书
python删除csv文件的行列
2021/04/06 Python
MySQL里面的子查询的基本使用
2021/08/02 MySQL