我正在使用此代码在我的所有页面和登录页面中设置会话生存时间
session_set_cookie_params(time()+120);
session_start();
当我print_r session_get_cookie_params我得到了这个
Array ( [lifetime] => 1441447767 [path] => / [domain] => [secure] => [httponly] => )
但是会话在关闭网页后立即到期,当我再次打开它时,我被重定向到登录页面。那么,只要用户不断浏览网站,设置会话生存期的正确方法是什么,以保持计算新生命周期。例如,如果会话生存期为120秒,它将不会过期,除非用户已关闭网页并且在120秒内没有返回,但如果他在这120秒内返回网站,会话将再次开始计算新的120秒。
答案 0 :(得分:0)
您需要检查上次活动时间,每次有人访问页面时都会更新:
if(($_SESSION['lastActivity'] + 120) < time()) {
// timeout, destroy the session.
session_destroy();
unset($_SESSION);
die('Timeout!');
} else {
$_SESSION['lastActivity'] = time();
}