首页 > 开发 > PHP > 正文

基于session_unset与session_destroy的区别详解

2024-05-04 23:09:41
字体:
来源:转载
供稿:网友
session_unset()
释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的sessionid
session_destroy()
删除当前用户对应的session文件以及释放sessionid,内存中的$_SESSION变量内容依然保留
因此,释放用户的session所有资源,需要顺序执行如下代码:
程序代码

复制代码 代码如下:


<?php
$_SESSION['user'] = 'wangh';
session_unset();
session_destroy();
?>


如果只是调用session_destroy();
那么echo $_SESSION['user']依然是有值的
即内存中的$_SESSION变量内容依然保留
[Session]
session.save_handler= files ; 用于保存/取回数据的控制方式
session.save_path= C:/win/temp; 在 save_handler 设为文件时传给控制器的参数,
; 这是数据文件将保存的路径。文件夹要事先建好
session.use_cookies= 1; 是否使用cookies 1是,0否
session.name= PHPSESSID
; 用在cookie里的session的名字
session.auto_start= 0; 在请求启动时初始化session
session.cookie_lifetime = 0; 为按秒记的cookie的保存时间,
; 或为0时,直到浏览器被重启
session.cookie_path= /; cookie的有效路径
session.cookie_domain=; cookie的有效域
session.serialize_handler = php; 用于连接数据的控制器
; php是 PHP 的标准控制器。
session.gc_probability= 1; 按百分比的'garbage collection(碎片整理)'进程
; 在每次 session 初始化的时候开始的可能性。
session.gc_maxlifetime= 1440; 在这里数字所指的秒数后,保存的数据将被视为
; '碎片(garbage)'并由gc 进程清理掉。
session.referer_check=; 检查 HTTP引用以使额外包含于URLs中的ids无效
session.entropy_length= 0; 从文件中读取多少字节
session.entropy_file=; 指定这里建立 session id
; session.entropy_length= 16
; session.entropy_file= /dev/urandom
session.cache_limiter= nocache ; 设为{nocache,private,public},以决定 HTTP 的
; 缓存问题
session.cache_expire= 180; 文档在 n 分钟后过时
session.use_trans_sid= 1; 使用过渡性的 sid 支持,若编译时许可了
; --enable-trans-sid
url_rewriter.tags= "a=href,area=href,frame=src,input=src,form=fakeentry"
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表