Session 会话超时不';t工作+;cakephp
我想将我的会话超时时间增加到24小时左右,为此我搜索了网络,但没有任何帮助。 目前我的网站使约40分钟的会议后,这是到期,我想让这24小时。 在我的core.php中,我添加了以下几行Session 会话超时不';t工作+;cakephp,session,cakephp-2.0,session-timeout,Session,Cakephp 2.0,Session Timeout,我想将我的会话超时时间增加到24小时左右,为此我搜索了网络,但没有任何帮助。 目前我的网站使约40分钟的会议后,这是到期,我想让这24小时。 在我的core.php中,我添加了以下几行 Configure::write('Session.timeout', '864'); // Session will last 24h Configure::write('Session.autoRegenerate',true); Configure::write('Security.level', 'med
Configure::write('Session.timeout', '864'); // Session will last 24h
Configure::write('Session.autoRegenerate',true);
Configure::write('Security.level', 'medium');
任何想法或建议。CakeSession配置参数的命名令人困惑,设置它们并不总是一致的(参见下面的示例) 1)
Configure::write('Session.timeout','XXX')
是会话将持续的分钟数。因此,如果您希望它持续24小时,请将其设置为24*60
2) Configure::write('Session.autoRegenerate',true)
未链接到“Session.timeout”
——即使Cake文档暗示是这样<代码>自动重新生成取决于CakeSession::$requestCountdown
值$requestCountdown
是重新生成会话ID之前的页面浏览次数。它不是基于时间的
因此,出现了不一致性:我们如何设置CakeSession::$requestCountdown
值?和我们对待其他参数的方式不同。您必须通过以下方式在引导中进行设置:
App::uses('CakeSession', 'Model/Datasource');
CakeSession::$requestCountdown = 25;
该值不能像其他参数一样通过配置进行设置(从v2.4开始)。请参阅我在上面打开的票证,该票证确认上述为预期用途:
3) Configure::write('Security.level','?)代码>已从Cake 2.0中删除
参考:
作为CakePHP的新手,感谢您为我解答这些问题。现在是否有其他替代设置session.timeout。我希望,如果用户处于非活动状态超过2小时,会话将在两小时前过期。目前只有40分钟,没有内置的蛋糕功能。您必须在会话中存储“上次访问时间”,然后在每个页面视图上将该时间与当前时间进行比较,如果差异大于2小时,您可以手动将其注销(请参阅上的“示例1”,了解可靠的方法)可能的重复: