首頁  >  文章  >  後端開發  >  詳解透過刷新PHP緩衝區為你的站點加速

詳解透過刷新PHP緩衝區為你的站點加速

*文
*文原創
2018-01-05 18:01:591757瀏覽

本文主要介紹了透過刷新PHP緩衝區可以加速你的站點,非常實用的小技巧,需要的朋友可以參考下。希望對大家有幫助。

在目前 PHP 版本的預設配置下,「輸出緩衝(Output Buffering)」是被開啟的。舊版則不是這樣,在舊版的 PHP 中,字串在每次被輸出的時候(透過 echo 或 print 函數),都會觸發一次傳送到客戶端瀏覽器的動作。
「輸出緩衝」的引入,使得這個過程更加快速、更有效率。緩衝區實際上是在記憶體中開闢了一塊區域,可以認為是記憶體中的一個大的字串。當程式中有字元要輸出的時候,會把要輸出​​的內容附加到該緩衝區中,用來取代舊版 PHP 中每次都直接輸出到瀏覽器的方式。當緩衝區被「刷新」的時候,再統一輸入到使用者瀏覽器。以下幾種情況下,會造成緩衝區的「刷新」操作:
1、PHP 程式執行完畢;
2、快取區的大小超過了php.ini 設定檔中設定的output_buffering 值;
3、flush() 或ob_flush() 函數被呼叫的時候。
在實際的產品環境下,我們可以透過在head 標籤後馬上刷新PHP 的緩衝區,來達到加速你的網站的目的,範例程式碼如下:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8" /> 
<title>Buffer flushing in action</title> 
<link rel="stylesheet" type="text/css" href="styles.css" /> 
<link rel="shortcut icon" href="favicon.ico" /> 
</head> 
<?php 
// 这里强制刷新缓冲区 
flush(); 
?> 
<body> 
...

#接下來來解釋上述程式碼的作用:
當瀏覽器接收到頁面head 部分的程式碼的時候,就可以開始下載head 段中的包含的資源了,類似CSS 檔案、網站收藏圖示(Favicon )等。這些內容的下載可以與瀏覽器接受 body 區段的內容時的時間同步進行。
具體能加速多少,需要因地制宜。這取決於許多客觀條件,包括服務端的回應速度、你的頁面大小、你的 CSS 檔案大小和數量、瀏覽器是否有本地快取等等。因素固然有很多,不過這樣一個小小的優化,就可以顯而易見的為你的站點加速,何樂而不為呢?

相關推薦:

#詳解ThinkPHP中$map的用法

詳解PHP如何實現簡易的搜尋框自動提示功能

#詳解PHP如何實現數獨求解

########################################################## ###

以上是詳解透過刷新PHP緩衝區為你的站點加速的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn