cakephp 3如何增加会话超时

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cakephp 3如何增加会话超时相关的知识,希望对你有一定的参考价值。

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

最新的事情,我试过的是

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

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

谢谢

答案

会话超时,会话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会话处理程序,以确定这是否是会话被杀死的地方(CakeNetworkSession::_timedOut())等...

以上是关于cakephp 3如何增加会话超时的主要内容,如果未能解决你的问题,请参考以下文章

在 cakephp 中延长每个用户的会话超时

如何在 Symfony 中增加会话超时

增加PHP中的会话超时[重复]

如何在Linux中增加SSH连接超时的时间

如何在 Laravel 中设置会话超时?

部署到 Tomcat 时,Grails 3 会话超时不起作用