Yii自定义会话超时

时间:2015-05-09 23:46:05

标签: php session yii

我想为管理员创建一个界面来更改我的应用程序中的会话超时。超时值将保留在DB中。

更改会话超时值后,我执行:

$duration = (int) $this->session_duration;
Yii::app()->session->setTimeout($duration);
Yii::app()->session->setCookieParams(array('lifetime' => $duration));

并且回显它的值,并且在刷新页面之前一切看起来都很好,而且我得到旧的会话超时值以及cookie生命周期。

此外,Yii中最适合放置会话超时验证的地方

if (time() - Yii::app()->session->get('LAST_ACTIVITY', 0) > Yii::app()->sesstings['session_timeout']) {
    Yii::app()->session->destroy();
}
Yii::app()->session->get('LAST_ACTIVITY') = time(); 

我使用CHttpSession作为会话组件

由于

1 个答案:

答案 0 :(得分:-1)

  1. 在index.php(最后一行)
  2. 中使用它
  3. 使用ini_set并将值设置为“session.cache_expire”