SessionHandlerInterface接口定义了PHP会话存储的6个核心方法,分别对应会话生命周期的不同阶段:
open(sessionName)
在会话初始化时调用,用于建立存储连接。$savePath参数指定会话文件存储路径(如C:\Windows\Temp),$sessionName为会话名称(默认PHPSESSID)14。close()
在会话结束时触发,用于释放存储资源。例如关闭数据库连接或文件句柄57。**read(sessionId)**‌ 通过唯一的`sessionId
读取会话数据(如sess_会话ID`文件内容),返回字符串格式的序列化数据14。write(data)
将会话数据写入存储介质。$sessionId标识当前会话,$data为待存储的序列化数据,需实现原子写入保证一致性35。destroy($sessionId)
主动销毁指定会话(如用户注销时),需删除对应的存储记录(如文件或数据库条目)57。**gc(maxLifetime)**‌ 垃圾回收机制,清理超过`maxLifetime`(秒)的过期会话数据,通常由概率触发35。
通过实现这些方法,开发者可自定义会话存储方式(如Redis、MySQL),解决多服务器场景下的会话共享问题26。