簡體   English   中英

flush()不在PHP中顯示輸出?

[英]flush() Not displaying output in PHP?

我有這個代碼:

   set_time_limit(0);
   header("Cache-Control: no-cache, must-revalidate");
   header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
   ob_flush();
   flush();
   $start = time();
   $secs = time() - $start;
   while ($secs <= 300)
   {         
    echo "this script has been running for $secs seconds.\n";
        ob_flush();
        flush();
        sleep(1);
   }

當我查看此頁面時,我想要做的是實時查看腳本運行了多長時間,如下所示:

  • 腳本運行1秒鍾。
  • 腳本已運行2秒。
  • ............
  • 腳本已運行300秒。

相反,我得到的是一個空白的窗口,連續的“加載”標志持續5分鍾,突然5分鍾后我被一堆這些消息轟炸,我應該一次收到1條消息。

誰能解釋我做錯了什么?

ob_flush不是flush ob_flush清除已打開的對象緩沖區。 由於您沒有打開對象緩沖區,因此不會刷新任何內容。

此外,Web瀏覽器和Web服務器軟件因為在輸出數據之前保持數據而臭名昭着。 確保GZIPing已關閉,並且您使用的是理智的瀏覽器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM