使用CakePHP 2.0,会话暂停时间过早
我最近切换到了Cake2.0,并且遇到了Sessions超时的问题.
复制documentation中的示例,我将会话类型设置为php,并将超时设置为3天(4320分钟).但是,在阅读了各篇文章后,似乎即使在Cake中将超时设置为3天后,如果PHP.ini设置为会话或GC的更短超时,PHP可能会破坏GC中的会话. 所以,我将Session默认更改为cake,具有相同的超时. Configure::write('Session',array( 'defaults' => 'cake','timeout' => 4320,)); Configure::write('Security.level','medium'); 然而,虽然这应该让我登录3天,但我发现在我需要再次登录之前,我几乎没有得到3个小时. 是否存在我应该注意的会话超时问题,或者是以秒为单位的超时(不是几分钟?),还是受到1.3中的Security.level的影响?我无法找到任何关于它如何在2.0中工作的硬文档,或者可能导致问题的原因. 提前致谢. 回答: 要解决,请更新到2.0.6(当它离开测试版时为2.1) 解决方法
如果您使用的是安全组件,则可以尝试将其过期时间更改为3小时:
$components = array( 'Security' => array( 'csrfExpires' => '+3 hour' ) ); 我不是说这是一个好主意,但它可以帮助你缩小问题的范围.如果您使用的是安全组件,则可能是这个问题. 此外,Session.timeout以分钟(而非秒)为单位. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |