cakephp 3如何增加会话超时

问题描述 投票:2回答:1

有谁知道如何增加cakephp 3中的会话超时,无论我怎么试,它只是在15分钟超时,

最新的事情,我试过的是

在app.php文件中更改此设置,但它仍然在15分钟左右超时,这非常令人讨厌

'Session' => [
        'defaults' => 'php',
            'timeout'=>300*60//in minutes
    ],

谢谢

session cakephp cakephp-3.0 session-timeout
1个回答
2
投票

会话超时,会话cookie生命周期。后者不受前者的影响,前者可在CakePHP配置中配置,如代码片段所示,并由CakePHP会话处理程序处理。

检查您的PHP安装session.cookie_lifetime设置,它可能是问题的原因。如果您需要更改它,可以在php.ini中执行此操作,或者在CakePHP会话配置中使用ini选项。

从文档引用:

默认情况下,无论配置的Session.timeout值如何,PHP都会将会话cookie设置为在浏览器关闭后立即过期。 cookie超时由session.cookie_lifetime ini值控制,可以使用以下命令进行配置:

Configure::write('Session', [
    'defaults' => 'php',
    'ini' => [
        // Invalidate the cookie after 30 minutes without visiting
        // any page on the site.
        'session.cookie_lifetime' => 1800
    ]
]);

Session.timeout和session.cookie_lifetime值之间的区别在于后者依赖客户端讲述cookie的真相。如果您需要更严格的超时检查,而不依赖于客户端报告的内容,则应使用Session.timeout。

Cookbook > Sessions > Session Configuration

如果这不能解决问题,那么你将不得不做一些调试,检查会话cookie到期值,挂钩到CakePHPs会话处理程序,以确定这是否是会话被杀死的地方(\Cake\Network\Session::_timedOut())等...

© www.soinside.com 2019 - 2024. All rights reserved.