如何解决在Symfony2中以编程方式设置会话生存期
| 我一直在在线研究,但找不到答案。在Symfony2中,我了解可以通过config.yml
文件静态设置会话生存期。
但是,我需要能够根据代码中的某些情况设置会话的生存期。是否可以通过编程设置会话生存期?
解决方法
似乎在Symfony2中,您无法即时更改会话存储容器的属性:有关实际的实现接口,请参阅https://github.com/symfony/HttpFoundation/blob/master/SessionStorage/SessionStorageInterface.php。可用,请注意其中没有任何内容可让您更改生命周期值。
但是,默认情况下,会话类使用
session_get_cookie_params
方法设置会话寿命:您可以通过调用session_set_cookie_params来调整这些值(最好在会话初始化之前:尝试在控制器中尽早调用它)。看看是否适合您。
, 视情况而定(例如,不以具有csrf保护的形式发布请求),也可以使用migration:
$request->getSession()->migrate();
根据文档:\“将当前会话迁移到新的会话ID,同时保留所有会话属性。”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。