cakephp 3如何增加会话超时

时间:2017-12-22 23:16:19

标签: session cakephp cakephp-3.0 session-timeout

有没有人知道如何在cakephp 3中增加会话超时,无论我如何尝试,它只是在15分钟超时,

最新的事情,我试过是

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

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

谢谢

1 个答案:

答案 0 :(得分:2)

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

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

来自文档的引用:

  

默认情况下,PHP将会话cookie设置为尽快过期   无论配置的Session.timeout值如何,浏览器都将关闭。   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之间的区别   价值在于后者依赖于客户说实话   饼干。如果您需要更严格的超时检查,请不要依赖   在客户端报告的内容中,您应该使用Session.timeout。

<强> Cookbook > Sessions > Session Configuration

如果这还没有解决问题,那么您必须进行一些调试,检查会话cookie到期值,挂钩到CakePHP会话处理程序,以确定这是否是会话被杀死的位置( \Cake\Network\Session::_timedOut())等等......