一、session 的基本概念
session 是什么呢?简单来说,session 是一种服务器端的存储技术,可以将用户的数据保存在服务器端。session 的工作原理如下:
当用户第一次访问网站时,服务器会自动为用户分配一个唯一的 session_id,并将该 session_id 保存在用户的浏览器中。
当用户进行其他操作时,服务器会根据浏览器中的 session_id 找到对应的 session,然后读取或修改 session 中保存的数据。
立即学习“PHP免费学习笔记(深入)”;
当用户关闭浏览器时,服务器会销毁该用户的 session,相应的 session 文件也会被删除。
二、清除 session 的方法
有时,我们需要清除 session,例如用户登出、切换用户等情况。下面有三种常用的方法,可以清除 session
使用 Session 类的 destroy 方法
thinkphp5 提供了一个 Session 类,可以方便地操作 session。通过使用 destroy 方法,您可以清除特定的会话。
示例代码如下:
use think\facade\Session; // 清除名为 user_info 的 session Session::destroy('user_info');
使用 Session 类的 clear 方法
使用该方法可以清除所有的 session。
示例代码如下:
use think\facade\Session; //清除所有session Session::clear();
直接删除 session 文件
在默认情况下,thinkphp5 会将 session 文件保存在 runtime/session 目录下。要清除 session,我们可以直接删除指定目录中的 session 文件。
示例代码如下:
unlink('./runtime/session/sess_session_id');
其中,session_id 是指需要删除的 session 的 id。