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的开发框架的现状和展望
Mar 16 PHP
PHP+MYSQL 出现乱码的解决方法
Aug 08 PHP
PHP 年龄计算函数(精确到天)
Jun 07 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
php生成zip压缩文件的方法详解
Jun 09 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
ThinkPHP实现动态包含文件的方法
Nov 29 PHP
php中文验证码实现方法
Jun 18 PHP
PHP的PDO操作简单示例
Mar 30 PHP
php微信开发之上传临时素材
Jun 24 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 读取Postgresql中的数组
2013/04/14 PHP
smarty基础之拼接字符串的详解
2013/06/18 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
2016/05/06 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
$.ajax json数据传递方法
2008/11/19 Javascript
JavaScript 学习笔记(十五)
2010/01/28 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
jQuery插件扩展操作入门示例
2017/01/16 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
原生js实现滑块区间组件
2021/01/20 Javascript
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
Python中with及contextlib的用法详解
2017/06/08 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
资源工程专业毕业生求职信
2014/02/27 职场文书
班组长安全工作职责
2014/07/15 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
公司地址变更通知
2015/04/25 职场文书
redis实现排行榜功能
2021/05/24 Redis
pandas中对文本类型数据的处理小结
2021/11/01 Python