如何在php中测试会话超时?

时间:2014-01-13 03:47:07

标签: php session session-timeout

为什么这段代码不起作用?

session_start();

// 5 mins in seconds
$inactive = 300; 
$session_life = time() - $_session['timeout'];
if($session_life > $inactive)
{  
    session_destroy(); header("Location: client_login.php");     
} 
else 
{
    $_session['timeout']=time();
}

2 个答案:

答案 0 :(得分:1)

检查:

print_r($_SESSION)print_r($_SESSION['timeout'])

答案 1 :(得分:0)

您可以在if / else语句后var_dump( $_session );查看是否设置了$_session['timeout']或是否有值。在session_destroy()之后,会话应为空。

<强>更新

尝试将$_session更改为$_SESSION。这是一个特殊的PHP变量,案例可能很重要