我遇到了symfony2会话组件的问题.我通过会话容器将一些数据设置为会话,如下所示:
$sess = $this->get( 'session' );
$sess->set( 'some_key', 'some_value' );
Run Code Online (Sandbox Code Playgroud)
但经过一段时间(大约15-20分钟)后,会议就丢失了.
我可以设置会话生存时间参数吗?对我而言,完美的变体就是如果我可以设定一定的会话时间......有人可以帮忙吗?
我正在Symfony2中构建一个用户登录的Ajax应用程序,然后从那时起,所有内容都由POST请求处理.在将会话生存期定义为5分钟后config.yml,即使他们正在发出POST请求,我也会遇到5分钟后用户会话失效的问题.每次发出请求时,我都希望在会话无效之前重置倒计时,但我不确定如何有效地执行此操作.
我目前正在考虑的方法是为kernel.request事件编写一个监听器,检查请求方法是否为POST,并操纵会话类.我还没有这样做,但它似乎不是一个干净的解决方案,因为每次发出请求时,监听器都需要触发.
这是我的会话配置:
session:
default_locale: %locale%
auto_start: true
lifetime: 300
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?解决方案是PHP而不是Symfony吗?