我使用 PHP MVC 框架 Symfony 构建了一个按需 Web 应用程序。
它有一个烦人的错误——会话在大约 15-30 分钟不活动后过期。有一个配置指令可以防止会话过期,但它不起作用。即使是这样的解决方法也没有帮助我。
我不打算在可预见的将来迁移到 Symfony 1.1(修复了这个 bug)。
有人去过那里并解决了吗?我将不胜感激一两个提示!
我调查了一下,我的同事同意心跳页面调用应该可以工作,你只需要确保调用的操作确实重置了会话计时器(像 ajax 字段完成这样的事情不会自己这样做)。
我工作的公司一直在使用 Symfony,我们使用的解决方法是在用户注销之前使用 javascript 触发警告。我怀疑有一种方法可以对服务器进行“心跳”ajax 调用以触发计时器重置,但这可能会带来很多麻烦。我认为可能没有适合您的完整修复程序,除非可能重新编写会话处理程序。
抱歉,我不能更具体,如果有机会,我会问我们的 Symfony 开发人员是否知道更好的解决方案。
您总是可以将超时设置为某个较大的数字(例如 10 天左右)
all:
.settings:
timeout: 864000
您可以使用
all:
.settings:
timeout: false