PHP会话增加到期时间

时间:2017-04-26 07:01:04

标签: php session

我只想在我的项目中延长php会话时间。从一些文档中我发现了这段代码:

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

默认情况下,我认为它是30分钟。但我需要增加这一点。因此,对于测试,我将此时间设置为仅2分钟并尝试了我的代码。我等了2分钟,但我没有过期。

我希望我的会话超过5个小时。但我的代码不起作用。我在我的php文件中而不是ini_set

中使用此php_ini

1 个答案:

答案 0 :(得分:2)

//服务器应保持会话数据至少5小时

ini_set('session.gc_maxlifetime', 18000);

//每个客户端应该记住他们的会话ID为完全5小时

session_set_cookie_params(18000);

session_start(); // ready to go!

,然后

$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;