PHP中session_cache_limiter() 是什么意思啊
发布网友
发布时间:2022-05-26 01:00
我来回答
共2个回答
热心网友
时间:2024-11-16 22:58
session_cache_limiter,它是session在客户端的缓存方式,有nocache,private,private_no_expire,publice主这几种。cache是属于浏览器的特性,它决定你浏览网页的缓存方式,没有缓存的情况会使你按浏览的“后退”键时提示要你更新连接,之前的内容就没有了,比如你填入的表单信息,都被丢失。
通过header("Cache-Control: no-store, no-cache, must-revalidate");函数也一样达到效果。然而,session的处理机制里,就强制自动调用了header函数设置cache,这个置就由php.ini中的缺省值session.cache_limiter值或由session_cache_limiter函数设定所取代。session_cache_limiter内的几个参数意义是:
nocache:当然是不缓存(比如:表单信息被清除),但公共变量可以缓存
private:私有方式缓存(比如:表单信息被保留,但在生存期内有效)
private_no_cache:私有方式但不过期(表单信息被保留)
publice:公有方式,(表单信息也被保留)它们之间的具体区别,我还不是太清楚,可以区别的是除nocache外其它的都可以缓存,private方式还受生存期影响,这个生存期应该是由session.cache_expire给定,它在php.ini中设置或session_cache_expire函数设置,缺省是180分钟。
热心网友
时间:2024-11-16 22:58
PHP中的 session_cache_limiter() 函数是指定会话页面所使用的缓冲控制方法。
语法:
string session_cache_limiter ( [string cache_limiter])
cache_limiter 要设置的缓存*的名字
返回缓存*的名字
但是要值得注意的是session_cache_limiter()方法要写在session_start()方法之前才有用。
实际应用:
在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。
第一,使用Header方法设置消息头Cache-control
header('Cache-control: private, must-revalidate');//支持页面回跳
第二,使用session_cache_limiter方法
//注意要写在session_start方法之前
session_cache_limiter('private, must-revalidate');//支持页面回跳