【发布时间】:2016-03-19 01:47:05
【问题描述】:
这可能是一个相当简单的问题。我发现了几十个类似的,询问如何在 PHP 中普遍缩短或延长会话寿命。我知道如何实现,我的 PHP 脚本如下所示:
ini_set('session.gc_maxlifetime', 3600);
session_set_cookie_params(3600);
session_start();
这会将我的会话设置为在 3600 秒后超时。这基本上就是发生的情况,当我最初打开一个必须登录的网站时,我可以使用它整整一个小时,然后所有会话数据都被删除,我需要再次登录。
但是,这不是我所期望的行为。我希望我的会话在不活动一小时后超时。所以当我第一次在上午 10:00 打开我的网站时,做一些事情直到 10:45,然后它应该在 11:45 超时,而不是像现在这样在 11:00。
有什么建议可以实现吗?
【问题讨论】:
-
你也需要使用会话来完成这个任务。您可以在模板中的页面加载时更新 cookie。如果最后的页面加载时间早于 3600 秒,您将销毁会话。但正如您所见,它有其缺点(需要每次都执行)
标签: php session session-timeout