如何更改此代码,以便在浏览器关闭时会话*未设置*


How do I alter this code so that the session is *unset* upon browser close?

这里有一些非常简单的会话代码

ini_set('session.cookie_lifetime', 0);
session_start();
echo session_id();
var_dump($_SESSION);
$_SESSION["name"]  = "test";

我加载页面一次。

然后我注释掉

#$_SESSION["name"]  = "test";

我点击重新加载,可以 $_SESSION 变量。

如果我完全关闭浏览器并启动它,我希望 $_SESSION 变量完全为空。

相反,我看到"名称"仍然是 $_SESSION 变量的一部分。

请更改此代码,以便在我关闭浏览器时清空 $_SESSION。当我再次打开它时,$_SESSION 变量应该是空的。

不可能。PHP 根据浏览器中设置的 cookie 跟踪会话,因此如果您的浏览器在单独的启动中保留 cookie,那么您的 PHP 会话也会继续。您可以将会话到期时间设置得更低,但这适用于所有会话。

PHP 绝对没有概念,不知道您的浏览器是否在两个请求之间关闭。