Zend framework Zend会话不会在窗口关闭时被破坏

Zend framework Zend会话不会在窗口关闭时被破坏,zend-framework,Zend Framework,我的Zend会话(我正在使用Zend_会话_命名空间)不会在窗口关闭时被破坏。我认为这是默认的行为,我真的希望如此。有什么想法吗?检查并删除application.ini文件中的类似代码 remember_me_seconds = 864000 在登录控制器中,请使用以下代码,这样它就可以正常工作 $remember=$form->getValue("remember") if ($remember=="yes") { $seconds=60 * 60 * 24 * 30; (reme

我的Zend会话(我正在使用Zend_会话_命名空间)不会在窗口关闭时被破坏。我认为这是默认的行为,我真的希望如此。有什么想法吗?

检查并删除application.ini文件中的类似代码

remember_me_seconds = 864000 
在登录控制器中,请使用以下代码,这样它就可以正常工作

$remember=$form->getValue("remember")
if ($remember=="yes") {
$seconds=60 * 60 * 24 * 30; (remember for 30 days)
Zend_Session::RememberMe($seconds);
}
else {
Zend_Session::ForgetMe();
}

我不知道这是否有帮助,但事情是这样的

有两种方法可以“销毁”会话

  • 在客户端-cookie
  • 在服务器端-会话名称空间
  • 关闭浏览器窗口时,浏览器上的会话不会真正被破坏。发生的情况是浏览器将删除cookie。当浏览器再次访问您的站点时,它不再有cookie,必须获得新会话

    如果将会话的“生命周期”设置为非常短,则该会话将在服务器上非常快地被删除。即使出现了带有cookie的浏览器,如果服务器上没有匹配的会话,那么它最终也会得到一个新会话

    您必须找到一种方法来设置cookie参数,该参数告诉浏览器在窗口关闭时将其删除。我不确定rememberMe()函数作用于哪个部分,是cookie还是服务器上的会话


    如果您设置此参数,浏览器将在窗口关闭时删除cookie,您将在浏览器端“删除”会话。

    您可能没有使用
    Zend_会话::rememberMe()
    ?在调用
    Zend\u Session::start()
    之前,您是否尝试过调用
    Zend\u Session::forgetMe()
    ?任何地方都没有“记住我”,尝试了“忘记我”,但不起作用,它仍在持续运行……您使用的浏览器是什么?你是关闭整个浏览器还是只关闭标签?@ChrisAnstey chrome和firefox…两者都试过了…我的意思是关闭浏览器和标签。。。