先來看看php在服務(wù)器的執(zhí)行過程:當(dāng)用戶請(qǐng)求服務(wù)器php文件的時(shí)候,服務(wù)器將對(duì)php文件進(jìn)行語法分析,其次是解析,最后才運(yùn)行。當(dāng)php文件有內(nèi)容輸出時(shí),該內(nèi)容會(huì)先經(jīng)過服務(wù)器的php的緩沖區(qū)(buffer),然后再通過TCP傳遞到客戶端。(buffer其實(shí)就是緩沖區(qū),一個(gè)內(nèi)存地址空間,主要用于存儲(chǔ)數(shù)據(jù)區(qū)域)
可見,如果用戶直接訪問靜態(tài)頁面的時(shí)候,服務(wù)器的響應(yīng)時(shí)間一般會(huì)比訪問動(dòng)態(tài)文件的時(shí)間短。如果我們能把用戶將要訪問的動(dòng)態(tài)文件先轉(zhuǎn)化為靜態(tài)文件即可加快用戶訪問頁面的速度(獲取網(wǎng)頁的速度)。當(dāng)然我們要注意靜態(tài)化的應(yīng)用場(chǎng)景,頁面的靜態(tài)化主要應(yīng)用于那些頁面內(nèi)容不經(jīng)常改動(dòng)的頁面。
關(guān)于靜態(tài)化,PHP的靜態(tài)化分為:純靜態(tài)和偽靜態(tài)。其中純靜態(tài)又分為:局部純靜態(tài)和全部純靜態(tài)。這里將的是全部純靜態(tài)。
頁面靜態(tài)化其中之一的方法是借助PHP自帶的緩沖區(qū)OB:
下面是頁面緩沖的簡(jiǎn)單實(shí)現(xiàn)
<?php//可以根據(jù) 前端傳遞參數(shù) COOKIE等進(jìn)行緩存$id = $_GET['id'];//設(shè)置緩沖文件名$cache_name = md5(__FILE__) . '-' . $id . '.html';//失效時(shí)間$life = 3600;//判斷文件是否存在以及是否過期if (file_exists($cache_name) && (filectime($cache_name) > time() - $life)) { include $cache_name; exit;}//開啟緩沖區(qū)ob_start();echo date('Y-m-d H:i:s');$content = ob_get_contents();ob_end_clean();//寫入到緩沖文件file_put_contents($cache_name, $content);echo $content;
除了以上方法之外,我們可以利用框架自帶的一些緩沖機(jī)制來實(shí)現(xiàn)
相關(guān)推薦:
PHP解決網(wǎng)站高流量高并發(fā)問題,php解決流量并發(fā)
PHP 處理高并發(fā)問題
以上就是php能處理高并發(fā)嗎?php高并發(fā)解決方案的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選