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验证码类代码分享(已封装成类)
Jul 17 PHP
通过php快速统计某个数据库中每张表的数据量
Sep 04 PHP
php生成局部唯一识别码LUID的代码
Oct 06 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
php跨域cookie共享使用方法
Feb 20 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
PHP打印输出函数汇总
Aug 28 PHP
php 使用redis锁限制并发访问类示例
Nov 02 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 PHP
在PHP中输出JS语句以及乱码问题的解决方案
Feb 13 PHP
PHP通过GD库实现验证码功能示例
Feb 23 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
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
PHP memcache在微信公众平台的应用方法示例
2017/09/13 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
Laravel数据库读写分离配置的方法
2019/10/13 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
跟我学习javascript的prototype使用注意事项
2015/11/17 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
jQuery 更改checkbox的状态,无效的解决方法
2016/07/22 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
2021/01/30 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
React优化子组件render的使用
2019/05/12 Javascript
JS如何把字符串转换成json
2020/02/21 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
python实现定时发送qq消息
2019/01/18 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
大专学生推荐信范文
2013/11/19 职场文书
政府采购方案
2014/06/12 职场文书
个人整改措施书面材料
2014/10/24 职场文书
关于教师节的广播稿
2015/08/19 职场文书
Nginx跨域问题解析与解决
2022/08/05 Servers
MySQL 原理优化之Group By的优化技巧
2022/08/14 MySQL