设置session的生命周期

 最近一直在研究P2P网贷的 SESSION 生命周期,是需要保存一个登陆的帐号密码,所以基本上又温习了一篇 PHP SESSION,其中用到了销毁SESSION,新建以及读取SESSION,当然还有在win服务器上面进行生命周期的实验,感觉好麻烦的说,暂时先把这些简单的整理了一下。

PHP中,Session变量保存在服务器端(默认以文件格式保存),而Session ID以cookie形式保存在客户端。

销毁session的方法有2种:

第一种是通过程序:

session_destory()方法清除所有session

unset(session['x'])来清除指定的session['x']。

第二种是通过关闭浏览器:

关闭后会直接清除所有session,在Cookie没有禁用的情况下,session ID是保存在Cookie中的,想要改变session生命周期,可以通过设置Cookie中session ID的有效时间来实现.

设置session生命周期的也有2种方法:

 

第一种:setcookie()

 
  1. $lifetime=60;//保存1分钟  
  2. session_start();  
  3. setcookie(session_name(),session_id(),time()+$lifetime,"/");  

直接用setcookie设置session id的生命周期。

第二种:session_set_cookie_params()

 
  1. $lifetime=60;//保存1分钟  
  2. session_set_cookie_params($lifetime);  
  3. session_start();  
  4. session_regenerate_id(true);  

session_regenerate_id();方法用于改变当前session_id的值,并保留session中数组的值。参数默认为false,如果设置为true则改变session_id的值,并清空当前session数组。

 
 

扫一扫手机访问