【问题标题】:PHP Session randomly dying [duplicate]PHP Session随机死亡[重复]
【发布时间】:2021-05-16 01:22:57
【问题描述】:

我正在处理一个几个月来一直在处理的问题,因为没有任何迹象表明问题到底是什么。

基本上,我的 PHP 会话正在随机死亡(或者看起来如此)。我建立了一个相当简单的用户认证系统。我将用户的电子邮件存储在 $_SESSION['email'] 中,并将他们的哈希密码存储在 $_SESSION['hashed_pa​​ssword'] 中。我正在运行 nginx 1.14 和 PHP 7.4。我将会话生存期设置为 150 秒(这不是问题,会话在登录后 1 分钟内死亡)。我什至通过更改 session.save_path 将会话数据目录更改为自定义文件夹。

基本上,我登录到我的系统并开始在页面之间随机点击。 15-60 秒后,我被随机踢出系统。它出现的页面也似乎是随机的。从日志记录变量中,我看到 $_SESSION['email'] 和 $_SESSION['hashed_pa​​ssword'] 突然为空(我显然已经编写了一个响应,将用户发送回登录页面)。我没有在任何地方调用 session_destroy() 。触发会话死亡所需的点击量是不可预测的。它可以立即发生,也可能需要一些时间。

我意识到我没有提供很多信息,但这确实是我必须继续进行的全部内容。我已经阅读并重新阅读了我的用户类,并且没有任何地方会随机触发会话被破坏。我什至设置了 $_SESSION['random_int'] 以确保不是我将用户注销,并且在发生这种行为时它也是空的。

感谢所有帮助。

【问题讨论】:

  • 是的,但我在下面发布了答案(似乎是相同的答案)。谢谢。

标签: php ubuntu nginx session


【解决方案1】:

看来我可以通过将 session.cookie_lifetime 设置为 0 来解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2013-10-14
    • 2014-09-16
    • 2011-11-03
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多