2 回答
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
session_cache_limiter,它是session在客戶端的緩存方式,有nocache,private,private_no_expire,publice主這幾種。cache是屬于瀏覽器的特性,它決定你瀏覽網(wǎng)頁的緩存方式,沒有緩存的情況會(huì)使你按瀏覽的“后退”鍵時(shí)提示要你更新連接,之前的內(nèi)容就沒有了,比如你填入的表單信息,都被丟失。
通過header("Cache-Control: no-store, no-cache, must-revalidate");函數(shù)也一樣達(dá)到效果。然而,session的處理機(jī)制里,就強(qiáng)制自動(dòng)調(diào)用了header函數(shù)設(shè)置cache,這個(gè)置就由php.ini中的缺省值session.cache_limiter值或由session_cache_limiter函數(shù)設(shè)定所取代。session_cache_limiter內(nèi)的幾個(gè)參數(shù)意義是:
nocache:當(dāng)然是不緩存(比如:表單信息被清除),但公共變量可以緩存
private:私有方式緩存(比如:表單信息被保留,但在生存期內(nèi)有效)
private_no_cache:私有方式但不過期(表單信息被保留)
publice:公有方式,(表單信息也被保留)它們之間的具體區(qū)別,我還不是太清楚,可以區(qū)別的是除nocache外其它的都可以緩存,private方式還受生存期影響,這個(gè)生存期應(yīng)該是由session.cache_expire給定,它在php.ini中設(shè)置或session_cache_expire函數(shù)設(shè)置,缺省是180分鐘。
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
PHP中的 session_cache_limiter() 函數(shù)是指定會(huì)話頁面所使用的緩沖控制方法。
語法:
string session_cache_limiter ( [string cache_limiter])
cache_limiter 要設(shè)置的緩存限制的名字
返回緩存限制的名字
但是要值得注意的是session_cache_limiter()方法要寫在session_start()方法之前才有用。
實(shí)際應(yīng)用:
在開發(fā)過程中,往往因?yàn)楸韱纬鲥e(cuò)而返回頁面的時(shí)候填寫的信息都不見了,為了支持頁面回跳,可以通過兩種方法實(shí)現(xiàn)。
第一,使用Header方法設(shè)置消息頭Cache-control
header('Cache-control: private, must-revalidate');//支持頁面回跳
第二,使用session_cache_limiter方法
//注意要寫在session_start方法之前
session_cache_limiter('private, must-revalidate');//支持頁面回跳
添加回答
舉報(bào)
