1

全部,

抱歉 - 这是一个非常简单的问题,肯定已经回答了 1000 次,但我找不到清晰、准确的解释。

当您创建会话时,该会话将在到期之前持续一段预定的时间(例如,30 分钟)。

但是 - 如果用户继续与您的站点交互 - 您不希望会话在首次创建会话后 30 分钟过期。相反,您希望在最后一次用户交互后 30 分钟过期。

所以 - 我的问题 - 究竟是什么延长了会话?(也就是说,“重置”30 分钟时钟?)

(通过“使用”,我的意思是从一个页面导航到另一个页面,或者触发 AJAX 请求)。

例如,如果每 5 分钟,您调用一个执行的脚本session_start()

或者,如果您修改会话变量?例如,$_SESSION['last_touched'] = time();

或者,如果用户只是调用服务器上的资源?(例如,加载“transparent.gif”)

长话短说 - 我想确保会话在用户实际使用网站时不会过期所以我想确切地知道哪些操作/功能可以延长会话的生命周期。

请注意,我没有问任何这些问题:

  1. 如何设置 LONG 时间段的超时时间,或更改默认超时时间?
  2. 当用户不与站点交互时,如何防止会话过期?

提前致谢!

4

3 回答 3

1

会话超时在 php 环境变量中定义(查找 session.gc_maxlifetime)。

于 2013-08-09T13:24:20.187 回答
1

调用session_start()成功将重置会话生命周期。

于 2013-08-09T13:22:38.950 回答
1

每次调用 session_start() 都会创建或扩展会话。

以及最后一次调用后会保留多长时间由 session.gc_maxlifetime变量决定

于 2013-08-09T13:23:09.307 回答