设置session的生命周期(php)

发布于:2016年01月06日 已被阅读

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
2
3
     $lifetime=60;//保存1分钟
     session_start();
     setcookie(session_name(),session_id(),time()+$lifetime,"/");

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

    第二种  session_set_cookie_params() 

?

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

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