基于session_unset与session_destroy的区别详解
程序员文章站
2022-05-21 17:19:53
session_unset()释放当前在内存中已经创建的所有$_session变量,但不删除session文件以及不释放对应的sessionidsession_destro...
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"
释放当前在内存中已经创建的所有$_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"
下一篇: 恰当的比喻
推荐阅读
-
node.js中fs.stat与fs.fstat的区别详解
-
基于request.getAttribute与request.getParameter的区别详解
-
基于Java的打包jar、war、ear包的作用与区别详解
-
基于android样式与主题(style&theme)的详解
-
基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍
-
详解CSS3中nth-child与nth-of-type的区别
-
浅谈Android onTouchEvent 与 onInterceptTouchEvent的区别详解
-
详解js中let与var声明变量的区别
-
C#中抽象类与接口的区别详解
-
PHP中define() 与 const定义常量的区别详解