我有一个symfony2项目,其中有一个页面来编写会议报告。这意味着用户可以停留在此页面上并键入2小时而无需加载任何新页面。因此,当用户发送表单时,他的会话已经过期,并且他被发送到登录页面。他输掉了他输入的所有内容。
我已经看过这篇文章" symfony2 session lifetime"所以这是我的config.yml:
framework:
session:
handler_id: ~
cookie_lifetime: 86400
gc_maxlifetime: 108000
所以一个24小时的cookie生命周期和一个30小时的垃圾收集器......不过,我试着在页面上停留1小时而且我已断开连接......
知道在哪里看?谢谢!
答案 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