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

php使用ob_flush不能每隔一秒輸出原理分析

 更新時間:2015年06月02日 11:19:24   作者:春哥也編程  
這篇文章主要介紹了php使用ob_flush不能每隔一秒輸出原理,較為詳細的分析了php使用ob_flush的相關(guān)原理與Linux下使用cli方式的使用方法,需要的朋友可以參考下

本文實例講述了php使用ob_flush不能每隔一秒輸出原理。分享給大家供大家參考。具體分析如下:

實現(xiàn)功能:

瀏覽器每隔一秒輸出一個數(shù)字。

php.ini配置為:

版本5.3

implicit_flush = off
output_buffering = off

另:查看output_buffering是否打開,可以:

復制代碼 代碼如下:
var_dump(ini_get('output_buffering'));

好我們再來看看這段代碼:

<?php
  $i = 3;
  ob_start();
  while ($i--) {
    echo $i, "<br />";
    ob_flush();
    flush();
    sleep(1);
  }
  ob_end_clean();
?>

可為什么:這段代碼不能每隔一秒輸出呢??

原因分析:

apache運行原理:當你訪問一個地址(發(fā)送請求)后,apache啟動PHP,那么php執(zhí)行是頁面級的,即如果有可執(zhí)行的代碼:它全部執(zhí)行完后再丟給apache,apache再丟給browser顯示結(jié)果

如何實現(xiàn)?

如果是cli 顯示結(jié)果方式又不一樣,那里不一樣呢?

linux cmd:

php5 test.php

由php直接執(zhí)行,不經(jīng)過apache,web service,就可以實現(xiàn):

<?php
  $i = 3;
  while ($i--) {
    echo $i, "\n";
    sleep(1);
  }
  ob_end_clean();
?>

希望本文所述對大家的php程序設(shè)計有所幫助。

相關(guān)文章

最新評論