0

我需要根据 ENV 条件切换 Symfony 缓存适配器。就像设置了某个变量一样,使用“cache.adapter.apcu”或使用“cache.adapter.filesystem”。

有可能吗?该文档对它并没有真正的帮助。

PS:我们不可能通过创建一个全新的环境来做到这一点

4

1 回答 1

0

似乎您无法将缓存配置设置为使用如下环境变量:

framework:
    cache:
        app: %env(resolve:CACHE_ADAPTER)%

提供缓存服务的是FrameworkBundle的约束。而且这个约束不会被“固定”(在编译时使用环境变量#25173)。

为了使它成为可能,您需要创建自己的缓存提供程序,它可以将所有参数传递给所需的缓存提供程序。您将可以在运行时访问环境变量,因此您可以将其用作知道要使用哪个提供程序的代理。

于 2021-06-11T10:00:36.680 回答