2015-07-22 28 views
0

两个CDbHttpSession和CHttpSession似乎忽略相当短的时间(少于12小时)后的超时值和垃圾收集数据。可能是什么问题呢?Yii的1 CDbHttpSession超时忽略

'session' => array(
     'class'=> 'CDbHttpSession', 
     'autoCreateSessionTable' => true, 
     'autoStart'=>true, 
     'timeout' => 1209600, 
     'cookieMode' => 'only', 
     'sessionName' => 'ssession', 
    ), 
+0

你仍然可以直接登录,即使时间超过12小时过去了? – Jigar

回答

2

可能这是你在找什么

设置超时CHttpSession仅设置 的session.gc_maxlifetime PHP设置。如果你运行你的应用程序或 的Debian或Ubuntu,其默认PHP有垃圾收集器禁用 并运行一个cron作业来清理。

在我的应用我在保护/运行的地方设置会话目录到 我会从其他应用分开。这在共享的 托管网站上很重要,这是一个很好的习惯。缺点是我必须 记得设置一个cronjob来清理该文件夹中的文件。

无论如何,你也应该打电话给CWebUser.login日志 在用户时设置超时。

Yii Forum Post

检查duration参数CWebUser.login