我们将应用程序移至新服务器,现在会话过期(不确定确切的小时数)已登录用户。我们尝试了许多方法来找出会话在生产环境中到期的原因,但直到现在我们都没有成功。我们希望将到期时间延长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()中进行了一些调试,但是没问题,因为这个原因永远不会到期。
有没有办法调试更多并找出导致会话过期的原因?
答案 0 :(得分:3)
黑客很高兴使会话永不过期,因为届时所有被盗的会话ID都将成为解锁您的Web应用程序的永久密钥。
有关session.gc_maxlifetime
和session.cookie_lifetime
的操作为何无效的更多详细信息,请参见here。
无论如何,您可以通过在开始会话之前将session.gc_probability的值设置为0来做到这一点。
答案 1 :(得分:0)
只需尝试重新启动应用程序服务器。有时服务器缓存的行为很奇怪。希望这可以解决您的问题。