时间:2021-05-26
在一个比较费时的操作中,想把操作记录在浏览器上实时显示出来,用到了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多个字符才会有这个效果,不行的话自己多尝试。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
PHP里开启实时输出方法是ob_implicit_flush(),但它大部分情况下都不管用,因为php.ini配置里output_buffering输出缓冲大部
在PHP运行环境中配置IIS7实现基本身份验证的方法,其实IIS7身份验证的方法有好几种,比如Windows身份验证、摘要式身份验证等,相对来说IIS7基本身份
PHP5.2.17、PHP5.3.5可以到下载。首先安装好IIS7安装的时候要注意三个地方打得勾注:CGI会在IIS7+PHP_5.3.5的环境中用到ISAPI
一、漏洞介绍漏洞影响IIS7及IIS7.5在使FastCGI方式调用php时,在php.ini里设置cgi.fix_pathinfo=1使得访问任意文件URL时
导读:本文讲述了如何在Windows7下安装和配置IIS7,以及IIS7在安装过程中的一些需要注意的设置,以及在IIS7下配置ASP的正确方法。注:本人安装的是