CakePHP 3调试会话超时

时间:2018-03-02 06:36:14

标签: php .htaccess session cakephp-3.0 cakephp-3.x

我们将应用程序移至新服务器,现在会话过期(不确定确切的小时数)已登录用户。我们尝试了许多方法来找出会话在生产环境中到期的原因,但直到现在我们都没有成功。我们希望将到期时间延长20天。

我们尝试过的东西:

这是当前的配置:

https://graph.microsoft.com/v1.0/sites/abc.sharepoint.com,{Site GUID},{Web GUID}/lists/{List GUID}/items

我们也尝试设置

'Session' => [
  'defaults' => 'php',
  'cookie' => 'MYAPPHO',
  'timeout'=> 80320, // in min
  'ini' => [
      'session.gc_maxlifetime' => 1728000, // in sec
      'session.cookie_lifetime' => 1728000
  ]
]

并设置.htaccess

中的值
'defaults' => 'cache'

但行为是一样的。

我们还在Network \ Session :: _ timedOut()中进行了一些调试,但是没问题,因为这个原因永远不会到期。

有没有办法调试更多并找出导致会话过期的原因?

2 个答案:

答案 0 :(得分:3)

黑客很高兴使会话永不过期,因为届时所有被盗的会话ID都将成为解锁您的Web应用程序的永久密钥。

有关session.gc_maxlifetimesession.cookie_lifetime的操作为何无效的更多详细信息,请参见here

无论如何,您可以通过在开始会话之前将session.gc_probability的值设置为0来做到这一点。

答案 1 :(得分:0)

只需尝试重新启动应用程序服务器。有时服务器缓存的行为很奇怪。希望这可以解决您的问题。