【问题标题】:PHP session - multiple sessions per user - how to sync?PHP会话 - 每个用户多个会话 - 如何同步?
【发布时间】:2012-12-13 02:05:14
【问题描述】:

我在会话中存储了一些用户信息,因此我不必在每次用户更改页面时都查询数据库。如果该用户使用多个浏览器/计算机并且较旧的会话现在有无效数据怎么办?如何使它们保持同步?注销用户的旧会话很好,但如果可能的话,我想避免将会话信息写入数据库。

我确实意识到这是一个相当普遍的问题,但在谷歌搜索后我无法找到正确的东西。

【问题讨论】:

    标签: php session


    【解决方案1】:

    将每个特定用户的会话存储在数据库中。

    然后,每次用户访问您的网站时(无论使用哪种浏览器) - 所有信息始终位于一个位置,您无需执行任何花哨的“同步”操作。

    注意:他们仍然需要从每个不同的浏览器“登录”。在登录过程中,您需要检查该用户的数据库中是否已经存在会话。如果是这样,您需要将此新登录附加到该会话(而不是创建一个新登录)。

    【讨论】:

    • 好吧 - 你不能将会话存储在每个浏览器的 cookie 中 - 因为你将无法可靠地“同步”数据。所以它需要是文件/数据库存储 - 即服务器上的集中位置。
    • 您可以序列化会话并将其存储在文件中。但我总是将数据库优先于文件。它更稳定
    • 您所描述的过程的任何链接(关于将其存储在数据库中)?正如我所提到的,我有点坚持搜索这个。
    猜你喜欢
    • 2011-08-29
    • 2021-04-09
    • 2013-03-13
    • 1970-01-01
    • 2014-02-18
    • 2010-10-25
    • 1970-01-01
    • 2011-04-24
    • 2011-07-25
    相关资源
    最近更新 更多