【问题标题】:APC as a session handler using Symfony componentsAPC 作为使用 Symfony 组件的会话处理程序
【发布时间】:2026-01-15 14:25:02
【问题描述】:

我在我的 Web 应用程序中使用 Symfony 组件。我需要在 APC 中存储会话,但不幸的是我找不到这样做的方法。

我看到here Symfony 不支持 APC 作为会话处理程序。这是真的吗?

我发现old example 在 Symfony 中使用 APC 作为会话处理程序。但是所有配置都在factories.yml 文件中完成,因为我只使用独立的 Symfony 组件,所以我没有。

谁能给我一个仅使用 Symfony 组件将 APC 用作会话处理程序的示例吗?

【问题讨论】:

    标签: php session symfony apc


    【解决方案1】:

    由于我在这里很长时间没有得到任何答案,我将自己回答这个问题。目前,Symphony 框架中没有内置支持 APC 作为会话处理程序。没有特别的原因,可能 Symphony 开发人员只是没有得到它。 解决方案很简单,自己编写 APCSessionHandler.php 文件(我没有这样做,因为我们决定不在项目中使用它),APCSessionHandler 将与MemcachedSessionHandler.php 文件非常相似。

    【讨论】:

    • APC 缓存(与 Memcache 不同)不是“安全的”:一旦超过最大内存,它就会踢掉旧条目,在您的情况下就是会话。我不认为这很有用,这就是 S2 自己不提供它的原因。您不应该依赖缓存来存储会话数据或持久数据。
    【解决方案2】:

    How to store PHP sessions in APC Cache? 建议这是可行的,但对于繁忙的站点来说是个坏主意。接受的答案列出了一些有用的想法

    【讨论】: