我的应用程序使用的是CakePHP v4。
我要做的是将会话设置为在24小时后过期,而不处于非活动状态。
一个会话应该持续24小时,无论有几个小时的不活动或没有。
下面是我在bootstrap.php文件中的配置。
Configure::write('Session', [
'defaults' => 'php',
// 'timeout' => 1440,
'cookieTimeout' => 1440, // The session cookie will live for at most 24 hours, this does not effect session timeouts
'checkAgent' => false,
'autoRegenerate' => false, // causes the session expiration time to reset on each page load
]);
我应该将autoRegenerate
设置为false,对吗?timeout
可以省略,对吗?
会话应在24小时后过期,即使不活动也是如此。
所以请让我知道什么是正确的配置。
目前,如果关闭浏览器,会话将过期。
如果用户关闭浏览器,如何防止会话过期?
先谢谢你了。
**更新:**我正在使用会话来保留我的令牌。
$accessToken = $this->getRequest()->getSession()->read('accessToken');
我希望在关闭浏览器的情况下24小时保留accessToken。
1条答案
按热度按时间o7jaxewo1#
默认情况下,PHP会将会话cookie设置为在浏览器关闭时立即过期,而不管配置的Session.timeout值是多少。cookie超时由session.cookie_lifetime ini值控制,可以使用以下命令配置:
请参阅:https://book.cakephp.org/4/en/development/sessions.html