1
我想为管理员创建一个界面来更改我的应用程序中的会话超时。超时值将保存在数据库中。Yii自定义会话超时
改变会话超时值后,我做的事:
$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
作为会话组件
感谢
AFAK所有ini_set设置必须在session_start()之前完成,session_start()将在文件顶部,而不是在最后一行。另外cache_expire是会话缓存过期的时候,而不是会话本身,如果你阅读手册,你会发现* _This与一生的session_ *无关 – dzona