我有一个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不存储请求的任何会话数据吗?
答案 0 :(得分:1)
您可以定义自己的会话处理程序并用它替换session
服务别名:
services:
session:
class: Path\To\Your\Session\Class
您可以使用标准会话类Symfony\Component\HttpFoundation\Session\Session