我试图在CakePHP 3.6中设置数据库会话,以便在闲置8小时后注销用户。我创建了表格并将其设置在app.php
中:
'Session' => [
'defaults' => 'database',
'timeout' => 480, // 8 hours, refers to 'session.gc_maxlifetime' in PHP settings
'cookieTimeout' => 10 * 480, // 80 hours, refers to 'session.cookie_lifetime' in PHP settings
]
但是在数据库中,登录后我可以看到我的会话的expires
值是:1559992416
,它是最后一次活动时间后的10天(modified
值) 。但是,即使我在当前时间之后的2分钟内设置了expires
,当我尝试单击应用程序中的按钮时,它也不会注销我。如何正确设置?
答案 0 :(得分:0)
您必须设置cookie_lifetime
Configure::write('Session', [
'defaults' => 'php',
'ini' => [
'session.cookie_lifetime' => 1800, // Valid for 30 minutes
]
]);
有关更多说明,您可以在下面的链接中查看
https://book.cakephp.org/3.0/en/development/sessions.html#setting-ini-directives