Session 会话超时不';t工作+;cakephp

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

我想将我的会话超时时间增加到24小时左右,为此我搜索了网络,但没有任何帮助。 目前我的网站使约40分钟的会议后,这是到期,我想让这24小时。 在我的core.php中,我添加了以下几行

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”,了解可靠的方法)可能的重复: