我需要在用戶空閒時長達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