我正在处理的应用程序中有一个“奇怪”的问题,到目前为止我找不到解决这个问题的方法。该应用程序使用 Symfony2.6.x 并依赖于多个 Ajax 调用。所有的时间请求都是通过 Ajax 发出的。所以,当我登录到应用程序(使用 FOSUserBundle)时,Symfony 会自动启动一个新会话,对吗?好的,从那一刻到config.yml
会话生命周期定义的时间(参见下面的配置),应用程序仍在工作,但在某些时候我被重定向到登录页面并且会话关闭,即使我正在积极处理应用程序。我最好的方法是在 Symfony 或 PHP 中的会话生命周期中不考虑 AJAX 调用,我是对的吗?
我对这个问题的最佳方法和解决方案,不知道我是否正确,也没有尝试过,我想在这里听听一些人的意见,是重新生成会话的 ID(通过调用migrate()
当前活动会话) 每次进行 AJAX 调用时,这样会话将保持活动状态,这种方法是否正确?有什么建议吗?
这是我在 config.yml 中用于会话部分的配置:
config.yml
framework:
session:
# session will expire after 10 minutes of inactivity
handler_id: ~
cookie_lifetime: 2400
gc_maxlifetime: 600 # session will expire after 10 minutes of inactivity
gc_probability: 0
gc_divisor: 100
注意: 这篇文章和我的另一篇文章基本上都在谈论相同的内容,但我仍然没有解决这个问题,它正在扼杀我的应用程序和我试图找到解决方案的头脑。