gpt4 book ai didi

php - 如何在 POST 请求期间刷新 session ?

转载 作者:可可西里 更新时间:2023-11-01 13:13:46 24 4
gpt4 key购买 nike

我正在 Symfony2 中构建一个 Ajax 应用程序,用户在其中登录,然后从那时起一切都由 POST 请求处理。在 config.yml 中将 session 生命周期定义为 5 分钟后,我遇到了用户 session 在 5 分钟后失效的问题,即使他们正在发出 POST 请求。每次发出请求时,我都想在 session 失效之前重置倒计时,但我不确定如何有效地执行此操作。

我目前考虑的方法是为kernel.request事件写一个监听器,检查请求方法是否为POST,并操作session类。我还没有这样做,但它似乎不是一个干净的解决方案,因为每次发出请求时都需要触发监听器。

这是我的 session 配置:

session:  
default_locale: %locale%
auto_start: true
lifetime: 300

有什么想法吗?解决方案是纯 PHP 而不是 Symfony?

最佳答案

session 的生命周期 是它的最大年龄。这是通过已经创建的 cookie 控制的,并且不再从服务器端刷新(因为 session 已经建立)。您可以手动更新此 cookie,我认为这将通过 symfony2 实现。

可能最简单的方法是在不破坏 session 的情况下重新生成 session ID:

$this->get('session')->migrate();

这应该会触发 session cookie 的更新。

可能相关的问题:

关于php - 如何在 POST 请求期间刷新 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8611247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com