這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹PHP中ob緩存的應(yīng)用,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)山陽(yáng),十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575
php緩存過(guò)程
在請(qǐng)求一個(gè)PHP的過(guò)程中,實(shí)際上經(jīng)過(guò)三個(gè)緩存:
1.程序緩存
2.ob緩存
3.瀏覽器緩存.
開啟ob的兩個(gè)方法
1.在php.ini 配置 ;output_buffering = 4096 這里去掉;號(hào)即可
2 在php頁(yè)面中使用 ob_start();
通過(guò)php.ini 打開的,則作用于所有的php頁(yè)面 。使用ob_start()打開則只作用于該頁(yè)面
ob緩存的知識(shí)點(diǎn)
在服務(wù)中,如果我們開啟了ob緩存,則echo數(shù)據(jù)首先放入到ob中
當(dāng)PHP頁(yè)面執(zhí)行到最后,則會(huì)把ob緩存的數(shù)據(jù)(如果有的話), 強(qiáng)制刷新到程序緩存,然后通過(guò)apache對(duì)數(shù)據(jù)封裝成http響應(yīng)包,返 回給瀏覽器
如果沒(méi)有ob,所有的數(shù)據(jù)直接放入程序緩存。 header信息不管你是否開啟ob,總是放入到程序緩存。
注意:在程序中如果開啟ob_start(),所有的echo輸出都會(huì)保存到ob緩存中,可以使用ob系列函數(shù)進(jìn)行操作,如果沒(méi)有,默認(rèn)情況下,在程序執(zhí)行結(jié)束,會(huì)把緩存中的數(shù)據(jù)發(fā)送給瀏覽器,如果,你使用ob_clean()類似的函數(shù),會(huì)情況緩存中的內(nèi)容,那么就不用有數(shù)據(jù)發(fā)送給瀏覽器
ob相關(guān)的函數(shù)
ob_start($callback)
//在當(dāng)前頁(yè)面中開啟ob,注意callback ob_start($callback);
ob_get_contents()
//獲取當(dāng)前ob緩存中的內(nèi)容 ob_get_contents()
ob_get_clean()
//獲取當(dāng)前ob緩存中的內(nèi)容,并且清空當(dāng)前的ob緩存 ob_get_clean()
ob_flush()
//將ob緩存中的內(nèi)容,刷到程序緩存中,但并沒(méi)有關(guān)閉ob緩存 ob_flush()
ob_end_flush()
//關(guān)閉ob緩存,并將數(shù)據(jù)刷回到程序緩存中 ob_end_flush()
ob_clean()
//將ob緩存中的內(nèi)容清空 ob_clean()
ob_end_clean()
//將ob緩存中的數(shù)據(jù)清空,并且關(guān)閉ob緩存 ob_end_clean()
注意ob_start($callback)的回調(diào)
應(yīng)用場(chǎng)景
在header()發(fā)送之前的報(bào)錯(cuò)
出錯(cuò)代碼
輸出:
Warning: Cannot modify header information - headers already sent by (output started at /Users/shuchao/Desktop/test.php:2) in /Users/shuchao/Desktop/test.php on line 3解決辦法
在發(fā)送header前開啟ob,則所有的echo內(nèi)容都會(huì)到ob里面,從而解決錯(cuò)誤。
輸出
before_header after_header關(guān)于PHP中ob緩存的應(yīng)用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)頁(yè)標(biāo)題:PHP中ob緩存的應(yīng)用
URL鏈接:http://weahome.cn/article/ijspoo.html