Laravel5为什么设置session的lifetime时间就是没有用的

2025-02-10 20:25:54
推荐回答(2个)
回答(1):

PHP 代码为:
//Session_Start 30 minutes destroy
$lifeTime = 1800;//单位:秒
try
{
session_start();
setcookie( session_name(), session_id(), time() + $lifeTime, "/" );
}
catch ( Exception $e )
{
session_set_cookie_params( $lifeTime );
session_start();
}
$_SESSION["LOGIN"] = "OK";
相关说明:
Session 是如何来判断客户端用户的呢?它是通过 Session ID 来判断的,什么是 Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保 Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中,关闭浏览器后该 ID 自动注销,重新请求该页面后,重新注册一个 Session ID。
  如果客户端没有禁用 Cookie,则 Cookie 在启动 Session 会话的时候扮演的是存储 Session ID 和 Session 生存期的角色。Session 还提供了一个函数 session_set_cookie_params(); 来设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用:如上面的代码所示。

回答(2):

session过期时间是从最后一次会话结束开始算的,如果你在过期时间内重新连接过,那么过期时间会重置