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