将Symfony2设置为不存储会话数据

时间:2012-09-27 14:56:14

标签: session symfony

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

对于应用程序的每个请求,给定默认会话配置,并且假定客户端忽略会话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不存储请求的任何会话数据吗?

1 个答案:

答案 0 :(得分:1)

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

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

您可以使用标准会话类Symfony\Component\HttpFoundation\Session\Session

检查实现