我想将会话超时时间增加到大约24小时,为此我搜索网但没有任何帮助我。 目前我的网站会在此过期后约40分钟进行会议,我希望将其设为24小时。 在我的core.php中,我添加了这些行
Configure::write('Session.timeout', '864'); // Session will last 24h
Configure::write('Session.autoRegenerate',true);
Configure::write('Security.level', 'medium');
任何想法或想法。
答案 0 :(得分:4)
CakeSession配置参数的命名令人困惑,设置它们并不总是一致的(例如见下文)。
1)Configure::write('Session.timeout', 'XXX');
是分钟会话将持续的次数。因此,如果您希望它持续24小时,请将其设置为24 * 60。
2)Configure::write('Session.autoRegenerate',true);
未链接到'Session.timeout'
- 即使Cake文档暗示它是。 autoRegenerate
取决于CakeSession::$requestCountdown
值。在重新生成会话ID之前,$requestCountdown
是的综合浏览量。它不是基于时间的。
所以这里出现了不一致性:我们如何设置CakeSession::$requestCountdown
值?我们做其他参数的方式不一样。你必须通过以下方式在bootstrap中设置它:
App::uses('CakeSession', 'Model/Datasource');
CakeSession::$requestCountdown = 25;
此值不能像其他参数一样通过配置设置(截至v2.4)。请参阅我在此打开的故障单,确认以上是预期用途:https://github.com/cakephp/cakephp/issues/2078
3)自Cake 2.0以来,Configure::write('Security.level', '?????');
已被删除。
REF: http://book.cakephp.org/2.0/en/development/sessions.html