2017-04-26 112 views
0

我只想在我的項目中延長php會話時間。從一些文件我發現這個代碼:PHP會話增加到期時間

ini_set('session.gc_maxlifetime', 2*60*60); //2 hours 

默認情況下,我認爲它的30分鐘。但我需要增加這個。所以爲了測試,我將這個時間設置爲2分鐘,並嘗試了我的代碼。我等了2分鐘,但我沒有過期。

我想要我的會話超過5個小時。但我的代碼不起作用。我用這ini_set我的PHP文件裏,而不是在php_ini

回答

2

//服務器應該保持會話數據至少5小時

ini_set('session.gc_maxlifetime', 18000); 

//每個客戶端應該記住他們的會話ID整整5小時

session_set_cookie_params(18000); 

session_start(); // ready to go! 

THEN

$now = time(); 
if (isset($_SESSION['discard_after']) && $now > $_SESSION['discard_after']) { 
    // this session has worn out its welcome; kill it and start a brand new one 
    session_unset(); 
    session_destroy(); 
    session_start(); 
} 

// either new or old, it should live at most for another hour 
$_SESSION['discard_after'] = $now + 18000;