【发布时间】:2018-08-10 08:40:56
【问题描述】:
我们将应用程序移到了新服务器上,现在对于已登录的用户来说会话即将过期(不确定确切的时间)。我们尝试了很多方法来找出会话在生产环境中过期的原因,但直到现在我们都没有成功。我们想把有效期设置为 20 天。
我们尝试过的东西:
这是当前配置:
'Session' => [
'defaults' => 'php',
'cookie' => 'MYAPPHO',
'timeout'=> 80320, // in min
'ini' => [
'session.gc_maxlifetime' => 1728000, // in sec
'session.cookie_lifetime' => 1728000
]
]
我们也尝试过设置
'defaults' => 'cache'
并在 .htaccess 中设置值
php_value session.cookie_lifetime 1728000
php_value session.gc_maxlifetime 1728000
php_value session.cache_expire 1728000
但行为是一样的。
我们还在 Network\Session::_timedOut() 中进行了一些调试,但没问题,因为这个原因永远不会过期。
有什么方法可以调试更多,找出导致会话过期的原因吗?
【问题讨论】:
-
使用浏览器工具检查 cookie 的详细信息,确保它设置为正确的到期时间?
-
感谢您的回复。 Cookie 将在 20 天后正确过期。
-
检查您是否真正加载了正确的配置。在您的一个视图中使用 phpinfo() 并检查会话变量是否正确。
标签: php .htaccess session cakephp-3.0 cakephp-3.x