有没有人知道如何在cakephp 3中增加会话超时,无论我如何尝试,它只是在15分钟超时,
最新的事情,我试过是
在app.php文件中更改此设置,但它仍然在15分钟左右超时,这非常令人讨厌
'Session' => [
'defaults' => 'php',
'timeout'=>300*60//in minutes
],
谢谢
答案 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()
)等等......