我试图取消设置并销毁一个特定的会话,我遇到了不同的方法,并想知道哪个是有效的方法来完成工作,并处理大多数PHP版本.
第一种方法:
unset($_SESSION['site1']);
session_destroy();
Run Code Online (Sandbox Code Playgroud)
第二种方法:
session_unset();
session_destroy();
Run Code Online (Sandbox Code Playgroud)
更新:[已解决]
<?php
session_start();
unset($_SESSION['site1']);
?>
Run Code Online (Sandbox Code Playgroud)
只是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会破坏存储在会话存储中的会话数据(例如文件系统中的会话文件).
其他一切都保持不变.