检查过了10分钟

时间:2019-06-17 18:42:53

标签: php

我需要检查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

我想念什么?

1 个答案:

答案 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 
}

上面是一个更好的系统构架,可以确保超时。