我正在尝试取消设置和销毁特定会话,并且遇到了不同的方法,并且想知道哪种方法是完成这项工作的有效方法,并且也可以处理大多数 php 版本。
第一种方法:
unset($_SESSION['site1']);
session_destroy();
第二种方法:
session_unset();
session_destroy();
更新:[已解决]
<?php
session_start();
unset($_SESSION['site1']);
?>
只需用于unset
取消设置任何数组索引。而 Session 本身就是一个数组。所以用于unset
取消设置您的特定会话索引。session_unset
在和函数的情况下你错了,session_destroy
因为它们不接受任何参数。
另外需要注意的是,您不应该使用session_destroy
它,因为它会取消设置所有可用的会话。例如。注销时,您可能不想丢失使用会话形成的购物车中的产品。
编辑
session_destroy — Destroys all data registered to a session
session_unset — Frees all session variables
session_unset 只是清除 $_SESSION 变量。这相当于做:
$_SESSION = array();
所以这只会影响本地 $_SESSION 变量实例,而不影响会话存储中的会话数据。
与此相反, session_destroy 销毁存储在会话存储中的会话数据(例如文件系统中的会话文件)。
其他一切都保持不变。
session_unset
不带任何参数。它释放所有会话变量。
一旦你调用了session_start()
,你应该$_SESSION
像对待任何其他对象一样对待。
正因为如此,unset
会做得很好。