一段时间后使php会话变量失效

时间:2016-07-08 15:25:57

标签: php apache session

有没有办法将php会话变量($_SESSION['example')设置为在给定的时间后过期。为了澄清,我希望保持用户的会话完整并保留所有其他变量的值,我只想将一个会话变量设置为在短时间后(1分钟)过期或者)。有没有办法将变量设置为自己过期,还是我必须跟踪时间并在确定时间已过期时删除变量?我在ubuntu上使用php 5和apache2。感谢。

1 个答案:

答案 0 :(得分:3)

也许可以这样做:

$_SESSION['example'] = $value;
$_SESSION['expiries']["example"] = time() + 30*60; // 30 mins

声明功能:

function expireSessionKeys() {
     foreach ($_SESSION["expiries"] as $key => $value) {
          if (time() > $value) { 
             unset($_SESSION[$key]);
          }
     }
}

然后,无论您在哪里session_start()跟进exprireSessionKeys()

所有这些都可以在自定义session handler

中构建