php - 一段时间后使php session 变量过期

标签 php apache session

有没有办法将 php session 变量 ($_SESSION['example') 设置为在给定时间后过期。澄清一下,我想保持用户 session 的完整性,并保持所有其他变量的值,我只想将一个 session 变量设置为在短时间(1 分钟左右)后过期。有什么方法可以将变量设置为自行过期,还是我必须跟踪时间并在确定时间已过期时删除变量?我在 ubuntu 上使用 php 5 和 apache2。谢谢。

最佳答案

也许做这样的事情:

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

关于php - 一段时间后使php session 变量过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38270343/

相关文章:

Linux组权限困惑

php 安全地检索 session 数据

javascript - 检测带扩展的 chrome 新 session

php - 将相同内容的列相乘,算作 "one"

php - odtphp 中的行段

php - 在 zf2 左连接中应用多个条件

PHP 写入文件 - 权限被拒绝

tomcat - 如何让httpd转发到不同url的多个tomcat,包括/?

php - 数据库存储与 Cookies - 存储表单数据

php - 将 2 个不同种类的相似德语字符转换为 PHP 中的相同 ASCII 字符串