【发布时间】:2012-01-21 01:01:06
【问题描述】:
我建立了一个 PHP 编码网站的测试版本,它使用会话来处理用户登录。在测试服务器上,会话将在浏览器关闭时过期,因为将所有内容复制到“干净”的实时服务器,会话在浏览器关闭时保持原位,即使在系统完全重启后的第二天用户仍然登录。
在 php.ini 中
; cookie 的生命周期(以秒为单位),如果为 0,则直到重新启动浏览器。 ; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime session.cookie_lifetime = 0这意味着它应该在浏览器重新启动时过期。
我认为它可能在某处被覆盖,但如果我 print_r PHP 中的 session_get_cookie_params 我得到
Array
(
[lifetime] => 0
[path] => /
[domain] =>
[secure] =>
[httponly] =>
)
我有什么遗漏吗?
【问题讨论】:
-
你在其他浏览器上试过了吗?你使用的是什么浏览器?到期值可能会发送到浏览器,但浏览器可能会拒绝在关闭时删除 cookie。检查您的浏览器设置并在其他浏览器上进行测试。
-
在 Firefox 和 IE 中是一样的。当然,如果是浏览器问题,测试服务器上也会发生与实时服务器相同的情况。这种行为不会发生在其他网站上(无论如何我都注意到了)
-
此外,该网站是为谁建造的客户已经注意到并且他不希望它发生!