设置SESSION的生命周期
来源:互联网 发布:js修改button文字 编辑:程序博客网 时间:2024/05/29 03:26
这个blog上面的内容,通常都是记录困扰了我很久的问题,就像今天这个问题,反复折腾了一下午。我发现,其实nio真是一个很耐心很有水准的老师,通常,我们会在群里说他是一个web开发的速查字典,几乎无所不通了。
今天我所要想解决的问题,简单来说,就是设置SESSION的生命周期问题,其实问题是很简单了,只是不知道为什么,我用session_cache_expire(12*60);关掉浏览器后竟然不管用。
后来发现,其实php session是基于cookie的,所以要设置session的生命周期,首先要设置cookie的失效时间。因为在客户端(如浏览器)登录网站时,SESSION 是否有用,首先找客户端是否有 COOKIE,通过COOKIE 中的 SESSION ID 去找服务器上的文件。
这样的话,做了以下设置:
session_set_cookie_params( 12*60*60 );//设置cookie的有效期
session_cache_expire(12*60);//设置session的有效期
至于后来,nio还给我讲解了关于session的命中率及回收几率的问题,这些问题都记录在他的blog上面了
Session储存于服务器端(默认以文件方式存储session),根据客户端提供的session id来得到用户的文件,取得变量的值,session id可以使用客户端的Cookie或者Http1.1协议的Query_String(就是访问的URL的“?”后面的部分)来传送给服务器,然后服务器读取Session的目录……。也就是说,session id是取得存储在服务上的session变量的身份证。当代码session_start();运行的时候,就在服务器上产生了一个session文件,随之也产生了与之唯一对应的一个session id,定义session变量以一定形式存储在刚才产生的session文件中。通过session id,可以取出定义的变量。跨页后,为了使用session,你必须又执行session_start();将又会产生一个session文件,与之对应产生相应的session id,用这个session id是取不出前面提到的第一个session文件中的变量的,因为这个session id不是打开它的“钥匙”。如果在session_start();之前加代码session_id($session id);将不产生新的session文件,直接读取与这个id对应的session文件。 按照上面的思想,我只要把session_id存在在cookie中就可以正常使用session了以下是session_set_cookie_params的用法void session_set_cookie_params ( int lifetime [, string path [, string domain [, bool secure [, bool httponly]]]] )设置与这个session相关联的session的细节
0 0
- 设置SESSION的生命周期
- PHP 设置SESSION的生命周期
- [php]设置SESSION的生命周期
- PHP 设置session的生命周期
- 设置session的生命周期(php)
- 有关session生命周期如何设置的问题
- session设置生命周期
- JavaEE关于session的生命周期的几种设置方法
- 黑马day05 session&重新设置JSESSIONID的生命周期
- JavaWeb关于session生命周期的几种设置方法
- Session Bean 的生命周期
- session的生命周期
- Session的生命周期
- Session的生命周期
- Session的生命周期
- Session的生命周期
- Session的生命周期
- Session的生命周期
- 是世间的活动和施工队
- 1.排序(插入排序)
- 5s手机主题被删如何恢复
- Hive 高级编程
- linux 系统的SNMP服务设置
- 设置SESSION的生命周期
- iOS 5 Storyboard 入门-2
- postgres
- Hive QL
- 谈一谈本人经历过的职位,希望能对求职路上的人有所帮助
- HttpHandler HttpModule入门篇
- sql 语句: COLLATE Chinese_PRC_CI_AS什么意思?
- Hive Shell 基本操作
- 孤儿和僵尸进程