2017-04-26 108 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;