这可能是一个相当简单的问题.我找到了几十个类似的,询问如何在PHP中缩短或延长会话的生命周期.我知道如何实现这一点,我的PHP脚本如下所示:
ini_set('session.gc_maxlifetime', 3600); session_set_cookie_params(3600); session_start();
这会使我的会话在3600秒后超时.这基本上就是这样,当我最初打开一个我必须登录的网站时,我可以使用它一个小时,然后所有会话数据都被删除,我需要再次登录.
但是,这不是我期望的行为.我希望我的会话在一小时不活动后超时.因此,当我第一次在上午10:00打开我的网站时,要做到10点45分之前的事情,那么它应该在11:45超时,而不是像现在这样在11点.
任何建议如何实现这一目标?
使用而不是session_set_cookie_params
- >setcookie
代替
session_set_cookie_params(3600); session_start();
使用此功能并在您网站的每个页面上调用它
$lifetime=3600; session_start(); setcookie(session_name(),session_id(),time()+$lifetime);
它将在每次执行到期之前更新会话cookie到期time()+$lifetime
日期