php session配置_PHP配置Session和销毁Session

在PHP配置文件php.ini中,有一组和Session相关的配置选项。通过对一些选项重新设置新值,就可以对Session进行配置,否则使用默认的Session配置phpinfo();

6b6c4ace0479f0a5217d2735c77c28ee.pngsession.auto_start=0;在请求启动时初始化session

session.cache_expire=180;设置缓存中的会话文档在n分钟后过时

session.cookie_lifetime=0;设置cookie保存时间(s),相当于设置Session过期时间,为0时表示直到浏览器被重启

session.cookie_path=/;cookie的有效路径

session.cookie_domain=;cookie的有效域

session.name=PHPSESSID;用在cookie里的session的名字

session.save_handler=files;用于保存/取回数据的控制方式

session.save_path=/tmp;在save_handler设为文件时传给控制器的参数,这是数据文件将保存的路径.

session.use_cookies=1;是否使用cookies

销毁Session

当使用完一个Session变量后,可以将其删除,当完成一个会话后,也可以将其销毁。如果用户想退出Web系统,就需要提供一个注销的功能,把所有信息在服务器中销毁。销毁和当前Session有关的所有的资料,可以调用session_destroy()函数结束当前的会话,并清空会话中的所有资源

session_destroy()bool session_destroy ( void )

session_destroy()销毁当前会话中的全部数据,删除同名Session文件,但是不会重置当前会话所关联的全局变量,也不会重置会话cookie。如果需要再次使用会话变量,必须重新调用session_start()函数<?php

session_start();

session_destroy();

?>

db0c33f3806f040b81cbdd40b0d0f8db.png

可以使用unset()函数来释放在Session中注册的单个变量print_r ($_SESSION);//'Array ( [username] => huochai [age] => 28 )'

unset($_SESSION['username']);

unset($_SESSION['age']);

print_r ($_SESSION);//'Array()'

[注意]不要使用unset($_SESSION)删除整个$_SESSION数组,这样将不能再通过$_SESSION超全局数组注册变量了

如果想把某个用户在Session中注册的所有变量都删除,可以直接将数组变量$_SESSION赋值为一个空数组$_SESSION=array();

PHP默认的Session是基于Cookie的,Session ID被服务器存储在客户端的Cookie中,所以在注销Session时也需要清除Cookie中保存的SessionID,而这就必须借助setCookie()函数完成。在Cookie中,保存Session ID的Cookie标识名称就是Session的名称,这个名称是在php.ini中,通过session.name属性指定的值。在PHP脚本中,可以通过调用session_name()函数获取Session名称。删除保存在客户端Cookie中的Session IDif(isset($_COOKIE[session_name()])) {

setCookie(session_name(),'',time()-3600);

}

通过前面的介绍可以总结出来,Session的注销过程共需要四个步骤<?php

//第一步:开启Session并初始化

session_start();

//第二步:删除所有Session的变量,也可用unset($_SESSION[xxx])逐个删除

$_SESSION = array();

//第三步:如果使用基于Cookie的Session,使用setCooike()删除包含Session Id的Cookie

if (isset($_COOKIE[session_name()])) {

setcookie(session_name(),'', time()-42000);

}

//第四步:最后彻底销毁Session,删除服务器端保留session信息的文件

session_destroy();

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值