基于session_unset与session_destroy的区别详解
基于session_unset与session_destroy的区别详解
发布时间:2016-12-29 来源:查字典编辑
摘要:session_unset()释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session...

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:wintemp ; 在 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"

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类