【问题标题】:Session timing out - bit of explanation please会话超时 - 请解释一下
【发布时间】:2012-07-23 08:22:40
【问题描述】:

从我认为我从会话中了解到的情况来看,应该是这样的:

  • 会话超时基于 php.ini 中设置的内容,比如说 30 分钟
  • 如果用户继续浏览并且我们更新,假设 $_SESSION['last_activity']=time();,那么会话将从最后一个活动开始持续 30 分钟

但我看到的是:

  • 用户登录并开始会话
  • 用户继续浏览
  • 30 分钟后,用户被踢出并生气,必须重新登录

这是服务器配置错误吗?为什么即使用户保持活动状态它也会被销毁?

感谢您的帮助!

【问题讨论】:

  • 你是每个页面都有session_start()还是只在登录页面?
  • 是的,我做 start_session();立即(无论用户走到哪里,页面都是相同的,因为它提供子页面/模板)
  • @RishiKalia 这似乎更多的是确保它在 30 分钟时准确超时。那不是我的问题,我的问题是如果用户仍然活跃,会话不应该过期;会话应保持活动状态,直到用户在大约 30 分钟内什么都不做

标签: php session session-timeout


【解决方案1】:

确保您正在调用:

session_start();

在访问者访问的每个页面上。这将重置会话时钟。

【讨论】:

  • 我在每个页面上都这样做(页面到处都是一样的;index.php 以 session_start() 开头;运行一些任务并根据 url 提供正确的模板)
猜你喜欢
  • 1970-01-01
  • 2021-06-11
  • 1970-01-01
  • 2020-09-10
  • 1970-01-01
  • 1970-01-01
  • 2015-06-09
  • 2021-06-14
相关资源
最近更新 更多