【问题标题】:Set Symfony2 To Not Store Session Data设置 Symfony2 不存储会话数据
【发布时间】:2012-09-27 14:56:13
【问题描述】:

我有一个 Symfony2 应用程序,代表一个不需要持久会话的宁静应用程序。

对于应用程序的每个请求,给定默认会话配置,并假设客户端忽略会话 cookie,在默认会话保存路径 app/cache/<env>/sessions 中创建一个新会话文件。

该应用每天会收到许多请求,从而导致大量不需要的会话文件。运行 rm -Rf app/cache/prod/session/* 需要几分钟才能完成。

如果应用程序不存储任何会话数据,我更愿意。

我尝试将应用程序配置会话保存路径设置为/dev/null/dev/null/sessions,但这会导致异常,因为目录已经存在(对于/dev/null)或由于指定的路径不是目录(为/dev/null/<anything>)。

framework:
    session:
        save_path: /dev/null

从阅读session documentation 可以看出我能做的最好的事情是使会话无效,这会清除所有会话属性并重新生成会话 ID。这不会让我进入没有会话和持久会话文件的状态。

我可以让 Symfony2 不为请求存储任何会话数据吗?

【问题讨论】:

    标签: session symfony


    【解决方案1】:

    您可以定义自己的 Session 处理程序并用它替换 session 服务别名:

    services:
        session:
            class: Path\To\Your\Session\Class
    

    您可以使用标准会话类Symfony\Component\HttpFoundation\Session\Session检查实现

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 2010-12-22
      • 2013-03-25
      相关资源
      最近更新 更多