0

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

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 变量应该是空的。

4

1 回答 1

0

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

PHP 完全不知道您的浏览器是否在两次请求之间关闭。

于 2013-11-12T20:40:12.570 回答