我需要检查session_start和当前时间之间的时间是否超过10分钟。我已经尝试过了:
$session_duration_max = 10; // 10 min
$current_time = time();
if ((time() - $_SESSION['session_start']) > $session_duration_max ) {
// session expired
}
// elsewhere I set session
$_SESSION['session_start'] = time();
但是当我减去time()-$ _SESSION ['session_start'])时,我一直得到0
我想念什么?
答案 0 :(得分:0)
time()以秒为单位。要正确设置10分钟后的超时,必须将超时时间乘以60秒。
// Session does not exist
if(!$_SESSION) {
// First Session:
$_SESSION['session_start'] = time();
}
$session_duration_max = (10 * 60); // 10 min
// Check if current time is larger than timeout
if ((time() - $_SESSION['session_start']) > $session_duration_max ) {
// session expired
// delete session and require
}
上面是一个更好的系统构架,可以确保超时。