Symfony2会话超时

时间:2015-09-19 15:15:56

标签: php symfony session timeout

我有一个symfony2项目,其中有一个页面来编写会议报告。这意味着用户可以停留在此页面上并键入2小时而无需加载任何新页面。因此,当用户发送表单时,他的会话已经过期,并且他被发送到登录页面。他输掉了他输入的所有内容。

我已经看过这篇文章" symfony2 session lifetime"所以这是我的config.yml:

framework:
    session:
        handler_id:  ~
        cookie_lifetime: 86400
        gc_maxlifetime: 108000

所以一个24小时的cookie生命周期和一个30小时的垃圾收集器......不过,我试着在页面上停留1小时而且我已断开连接......

知道在哪里看?谢谢!

2 个答案:

答案 0 :(得分:1)

所以,看起来改变symfony的config.yml是行不通的。但是在我的php.ini中将gc_maxlifetime修改为108000之后,它可以工作,我在一段空闲时间后没有断开连接。

我想这可能与handler_id: ~(这是默认的)相关联,但我真的不知道为什么......无论如何,这样工作:)

答案 1 :(得分:0)

尝试以下设置:

framework:
    session:
            cookie_lifetime: 60 #60 seconds
            gc_maxlifetime: 50 #50 seconds - only needed for testing. Dont use this in a production environment
            gc_probability: 1 #only needed for testing. Dont use this in a production environment
            gc_divisor: 1 #only needed for testing. Dont use this in a production environment

你可以在这里看到它们:https://codedump.io/share/9eVPS5otSIuk