欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php flush無效,IIS7下php實(shí)時(shí)輸出的方法

 更新時(shí)間:2016年08月25日 19:28:22   投稿:mdxy-dxy  
這篇文章主要介紹了php flush無效,IIS7下php實(shí)時(shí)輸出的方法,需要的朋友可以參考下

在一個(gè)比較費(fèi)時(shí)的操作中,想把操作記錄在瀏覽器上實(shí)時(shí)顯示出來,用到了flush(),把緩沖中的內(nèi)容發(fā)送到瀏覽器。但在iis7里面用fastcgi模式配置的php怎么都實(shí)現(xiàn)不了,結(jié)果總是一起顯示出來。

for ($i=10; $i>0; $i--)
{
  echo $i.'<br />';
  @ob_flush();
  flush();
  sleep(1);
}

上面的代碼在IIS的默認(rèn)設(shè)置下是無法逐漸顯示結(jié)果的。解決辦法如下:

打開文件 C:\Windows\System32\inetsrv\config\applicationHost.config ,注意如果你的是64位系統(tǒng),這個(gè)文件就必須用64位的編輯軟件打開,32位的軟件打開會(huì)提示文件不存在,就用系統(tǒng)自帶的notepad記事本打開就可以了。找到下面這一段,加入紅色的那段代碼就行了,也就是php這個(gè)handler里面加上responseBufferLimit="0"。

復(fù)制代碼 代碼如下:

<handlers accessPolicy="Read, Script">
<add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\PHP\php-cgi.exe" resourceType="Either" responseBufferLimit="0" />

現(xiàn)在你可以試一下,如果還是不行的話把php.ini里面的output_buffering = Off。

最后一點(diǎn)很重要,在不同的瀏覽器中,也用有不一樣的結(jié)果。IE里面應(yīng)該沒什么問題了,如果是用chrome的話,每個(gè)echo出來的內(nèi)容必須帶有html,不然也是不行的,還有如果echo的內(nèi)容太短也是實(shí)現(xiàn)不了這個(gè)效果的,可以在代碼前先輸出一段空格,如:echo str_pad(' ', 1050); chrome好像要先輸出1000多個(gè)字符才會(huì)有這個(gè)效果,不行的話自己多嘗試。

相關(guān)文章

最新評(píng)論