我需要在用户空闲时长达10分钟还怎么找到用户的最后一次活动的时间,以摧毁了会议,会话自动终止,如果用户在空闲
if ($_SESSION['last_activity'] > 600)
{
session_unset();
session_destroy();
}
这是正确的方式。 。
我需要在用户空闲时长达10分钟还怎么找到用户的最后一次活动的时间,以摧毁了会议,会话自动终止,如果用户在空闲
if ($_SESSION['last_activity'] > 600)
{
session_unset();
session_destroy();
}
这是正确的方式。 。
使用session.gc_maxlifetime
Set session.gc_maxlifetime = 600 in phi.ini
或
ini_set('session.gc_maxlifetime',600); // in your script
//on pageload
session_start();
$idletime=60;//after 60 seconds the user gets logged out
if (time()-$_SESSION['timestamp']>$idletime){
session_destroy();
session_unset();
}else{
$_SESSION['timestamp']=time();
}
//on session creation
$_SESSION['timestamp']=time();
检查活动重置时间前:
if (isset($_SESSION['last_activity']) && $_SESSION['last_activity'] > 600){
session_unset();
session_destroy();
}else{
$_SESSION['last_activity'] = time();
}
你并不需要调用'session_destroy()'。如果你调用'session_destroy()',那么你需要再次调用'session_start()'。另外,要注意,如果你在会话中保留**任何其他**,那么''session_unset()'也会丢失' – Styphon
http://stackoverflow.com/questions/520237/how-do-i- expire-a-php-session-after-30-minutes?lq = 1 –
可能重复http://stackoverflow.com/questions/9049890/php-destroy-session-if-not-any-action-in-10-分钟 – Pwner