4

对于登录部分的每个页面的标题,我添加了以下代码来维护会话:

session_set_cookie_params(1200, '/mysystem');
session_start();

我的意图是,我将会话生命周期设置为 1200 秒,路径/mysystem通过函数session_set_cookie_params()。使用此函数的原因是为了将会话 cookie 与同一域中的其他 PHP 脚本分开,例如http://www.example.com/another_system/

问题是,会话在达到 1200 秒时过期,无论是否有活动(例如在 下加载另一个页面/mysystem,或刷新页面。

预期行为:当活动会话有效时进行页面活动时,会话“倒计时”会重置。

我错过了什么 ?

4

2 回答 2

5

这就是它的工作原理。cookie 设置一次,然后开始倒计时。为了解决这个问题,每次用户与后端交互时,您都必须使用新的到期日期重置 cookie。

于 2013-03-22T10:21:05.380 回答
2

您可以尝试 time() 函数来更新 cookie 过期时间..

尝试在每个页面中添加 time() 函数,获取当前页面加载时间并使其过期

由 $expireTime = time()+1200;

      <?php

          session_set_cookie_params($expireTime, '/mysystem');
          session_start()
       ?>
于 2013-03-22T10:29:35.603 回答