【问题标题】:Destroy Session when User Closed browser and also from session table当用户关闭浏览器和会话表时销毁会话
【发布时间】:2016-12-12 05:55:14
【问题描述】:

我想在 yii2 中关闭浏览器时销毁会话,因为我在 web,config 文件中使用了该代码:-

'user' => [
        'identityClass' => 'app\models\TblUser',

        'enableAutoLogin' => false,
        'loginUrl' => ['site/index/login'],
     ],

在这段代码的帮助下,我成功地销毁了会话,但当时会话表没有更新。当我手动注销用户时,会话表已更新。请在我关闭浏览器时帮助我,届时我的会话表也会更新。

谢谢

【问题讨论】:

  • 'user' => ['identityClass' => 'app\models\TblUser', 'enableAutoLogin' => false, 'loginUrl' => ['site/index/login'], ' authTimeout' => 1800 ],
  • @Gulshan 在此代码的帮助下,您只能销毁会话而不更新数据库中的会话表

标签: php session yii2


【解决方案1】:

这是不可能的。

您只能告诉用户的浏览器在浏览器关闭后立即丢弃会话cookie。或者在技术上更正确的术语 - 浏览器被告知它不应该永久存储该 cookie。

但是 服务器 无法知道浏览器是否/何时关闭。

一种称为“垃圾收集”的机制应该稍后从您的数据库中清除那些旧会话记录。它只是定期检查过期的会话数据并将其删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 2014-08-15
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多