-
直接看第三章查看全部
-
開始查看全部
-
OB 都是 操作緩沖區(qū)的函數(shù)
查看全部 -
php ini :262 默認(rèn)開啟; buffer寫滿 才會(huì)寫入硬盤
獲取php緩沖區(qū)中的數(shù)據(jù) ob_get_contents();
代碼中開啟buffer: ob_start();
查看全部 -
php buffer
查看全部 -
動(dòng)->靜 是通過nginx 配置實(shí)現(xiàn)(偽靜態(tài))
查看全部 -
如果目錄或文件存在,優(yōu)先調(diào)用現(xiàn)有目錄或文件。
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}% {REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}% {REQUEST_FILENAME} !-f
RerwriteRule ^/detail/([0-9]*).html$ /detail.php?id=$1
查看全部 -
ob_start();
file_put_contents('index.shtml',ob_get_clean());
查看全部 -
? ? 動(dòng)態(tài)頁面是根據(jù)用戶的請求,從服務(wù)器數(shù)據(jù)庫獲取相應(yīng)的數(shù)據(jù),返回至頁面
靜態(tài)頁面是 純html+css頁面,訪問不會(huì)訪問數(shù)據(jù)庫。
偽靜態(tài),顧名思義,假的靜態(tài),實(shí)為動(dòng)態(tài),只是把的動(dòng)態(tài)的pathinfo轉(zhuǎn)換成訪問靜態(tài)文件的格式,再通過自己內(nèi)部設(shè)定相應(yīng)的正則表達(dá)式匹配到符合的假理由,將其轉(zhuǎn)換成自己設(shè)定好的真正的接口路由,
方法有 在單文件中設(shè)置,匹配到就轉(zhuǎn)動(dòng)態(tài)
還有在服務(wù)器中設(shè)置,appach和ngix差不多,都是vhost中,虛擬域名設(shè)定的地方,開啟重寫拓展后,通過設(shè)定正則規(guī)則自動(dòng)完成偽靜態(tài),還可以設(shè)置,有文件匹配就匹配文件或者 優(yōu)先匹配偽靜態(tài)的路由。
沒什么難的,理解下原理就行,真正用到的,框架里應(yīng)該都有此功能吧
查看全部 -
觸發(fā)系統(tǒng)生成純靜態(tài)化頁面之? 頁面添加緩存時(shí)間
filemtime() 獲得文件修改時(shí)間
查看全部 -
觸發(fā)系統(tǒng)生成純靜態(tài)化頁面
查看全部 -
模板引擎渲染php數(shù)據(jù),生成純靜態(tài)化的方法:
1.連接數(shù)據(jù)庫,從數(shù)據(jù)庫數(shù)據(jù)相應(yīng)數(shù)據(jù)
2.把獲取到的數(shù)據(jù)填充到模板文件
3.把動(dòng)態(tài)頁面轉(zhuǎn)化為靜態(tài)頁面,生成靜態(tài)化文件
ob_staty()
file_put_content('index.html', ob_get_clean())
訪問index.html文件
查看全部 -
PHP如何實(shí)現(xiàn)頁面純靜態(tài)化:
1,file_put_contents()函數(shù)
2.使用PHP內(nèi)置緩存機(jī)制實(shí)現(xiàn)也米娜靜態(tài)化 -- output_buffering
如何實(shí)現(xiàn)php頁面純靜態(tài)化
查看全部 -
php腳本輸出內(nèi)容到瀏覽器顯示的流程:
先將輸出的內(nèi)容寫入到php buffer中,然后通過tcp協(xié)議輸出顯示到終端。
php buffer 在php.ini文件中有output_buffering選項(xiàng)的配置,
設(shè)置為on時(shí),php中輸出內(nèi)容后,使用ob_get_contents()可以獲取到緩存區(qū)的數(shù)據(jù),使用echo等方式可以打印輸出該內(nèi)容
如果沒有開啟該配置,想要使用的話,可以在代碼中通過使用ob_start() 開啟
查看全部 -
php靜態(tài)化分類
查看全部 -
優(yōu)化頁面響應(yīng)時(shí)間:
動(dòng)態(tài)頁面靜態(tài)化
優(yōu)化數(shù)據(jù)庫
使用負(fù)載均衡
使用緩存
查看全部 -
nginx下rewrite配置
找到/etc/nginx/conf.d目錄下的ngnix配置文件,打開后,找到server進(jìn)行規(guī)則寫入。
serer{
????listen 80;
????server_name static.com;
????index index.shtml index.html index.htm index.php;
????root /data/static;
????location /{
????????if(!-e $request_filename){
????????????rewrite ^/detail/([0-9]*).html$ /detail.php?id=$1 last;#規(guī)則
????????????break;
????????}
????}
}
重啟nginx服務(wù):sudo service nginx restart
注:偽靜態(tài)配置根據(jù)業(yè)務(wù)需求來定 并非配置越多越好。太多影響服務(wù)器性能。
查看全部 -
apache下rewrite配置
虛擬域名配置
1)找到httpd.conf 查找LoadModule rewrite_module modules/mod_rewrite.so 將其開啟。通過php內(nèi)置函數(shù)phpinfo()查看apache是否開啟了此模塊。查找mod_rewrite 若存在則代表開啟。
2)找到Include conf/extra/httpd-vhosts.conf并將其開啟。
3)配置httpd-vhosts.conf文件:
<VirtualHost 127.0.0.19:8080>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "e:/sing/state"
ServerName state.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
#RewriteEngine on
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-d
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-f
#RewriteRule ^/detail/([0-9]*).html$/detail.php?id=$1
</Virtualhost>
httpd_vhosts.conf配置文件配置相關(guān)信息
其中rewritecond中的document_root表示網(wǎng)站域名 request_filename表示url中域名后的請求內(nèi)容。!-d表示目錄 !-f表示文件。這兩個(gè)rewritecond的意思是,當(dāng)訪問網(wǎng)站時(shí),若遇到url中存在對應(yīng)目錄對應(yīng)文件時(shí),則直接訪問對應(yīng)的目錄文件,而不需遵守rewriterule中的匹配規(guī)則。
而rewriterule則代表,當(dāng)訪問網(wǎng)站url時(shí),會(huì)將url按照這條寫好的規(guī)則進(jìn)行匹配,若匹配成功,則訪問規(guī)則中定義的文件。
配置windows中的drivers里的hosts文件,將127.0.0.19 state.com寫入文件中。
apache偽靜態(tài)url地址rewrite方式配置完成。
查看全部 -
利用$_SERVER獲取PATH_INFO變量 然后通過獲取到的地址 用php的正則判斷 將符合判斷的內(nèi)容取出,并進(jìn)行下一步處理。
其中,正則匹配運(yùn)用到了php的一個(gè)內(nèi)置函數(shù)為:preg_match($reg,$str,$newstr),其中第一個(gè)參數(shù)為:正則匹配的規(guī)則;第二個(gè)參數(shù)為:要進(jìn)行匹配的字符串;第三個(gè)參數(shù)為:匹配成功后生成的新的字符串。
PS:其中,關(guān)于$_SERVER中的PATH_INFO變量,在Apache服務(wù)器中,是默認(rèn)開啟的。但是在Nginx中,默認(rèn)是不開啟的,所以如果是使用了Nginx服務(wù)器且運(yùn)用到了PATH_INFO功能,請先檢查是否開啟,若沒有開啟,則對Nginx服務(wù)器進(jìn)行配置。
查看全部 -
php.ini 文件內(nèi)存在output_buffering設(shè)置。為on時(shí)開啟緩存區(qū)功能
ob_start() 開啟一個(gè)新的緩存區(qū)
filemtime 獲取文件最新一次更改時(shí)間。
ob_get_clean() 獲取緩存區(qū)內(nèi)容輸出到文件內(nèi)并清空緩存區(qū)
ob_get_contents() 獲取緩存區(qū)內(nèi)容輸出到文件內(nèi) 不清空緩存區(qū)
查看全部 -
頁面靜態(tài)化函數(shù)
查看全部 -
方式查看全部
-
方式查看全部
-
apache偽靜態(tài)配置示例
查看全部 -
頁面靜態(tài)化流程
查看全部
舉報(bào)