【发布时间】:2015-07-20 16:35:30
【问题描述】:
我想为管理员创建一个界面来更改我的应用程序中的会话超时。超时值将保存在数据库中。
更改会话超时值后我会这样做:
$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 作为会话组件
谢谢
【问题讨论】: