【问题标题】:APC cache in Symfony2 for a multi language siteSymfony2 中用于多语言站点的 APC 缓存
【发布时间】:2015-12-26 16:22:29
【问题描述】:

我正在寻找解决方案几个小时,已经查看了有关该主题的所有 SO 帖子。

这是我的问题,我有一个多语言网站。我有两种不同类型的路线,法国路线和英国路线。

问题在于 APC(在生产环境中)认为特定页面的两条路由是相同的。因此,例如,如果我在转到英文页面后转到法文页面,我的变量是英文的,所以翻译也是......

我该如何解决?

也许有办法对 APC 说“这是两个不同的页面”

谢谢

【问题讨论】:

  • 你让我们有点不知所措,为什么 APC 会做这样的事情。你在缓存什么?你的缓存键是什么?
  • 我想我正在缓存所有网站。我将framework: validation: cache: apcquery_cache_driver: apcmetadata_cache_driver: apc 放入我的config_prod.yml
  • 语言是 URL 的一部分吗?如果是,怎么做?
  • 是的。我用 LexikTranslationBundle 存储 url 链接。但我可能会找到一个解决方案,我使用实体管理器的分离功能,我可以使用新语言获取我的对象。没有考虑 Doctrine 缓存,但似乎是这样的:$this->getDoctrine()->getManager()->detach($myEntity);

标签: php symfony caching apc


【解决方案1】:

这是适合我的解决方案。我以为它只是 Symfony2 的 APC 缓存,但它似乎是 Doctrine 缓存。所以,我找到了实体管理器的分离功能。这样做,我可以用良好的语言获得具有“刷新”值的实体

<?php
    private function myController($myEntity) {
        $this->getDoctrine->getManager()->detach($myEntity);
        // getting my entity again with the repository
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    相关资源
    最近更新 更多