【发布时间】:2021-02-20 19:01:45
【问题描述】:
自从我将 Symfony 从 4.4.15 升级到 4.4.16 后,我收到了以下弃用通知:
“metadata_cache_driver”配置键已弃用。 PHP 数组 现在当 %kernel.debug% 为 false 时会自动注册缓存。
这很奇怪,因为 official docs 除了这个文本之外,没有说任何关于此弃用的内容:
自 4.4 版起已弃用:所有 Doctrine 缓存类型都是 自 Symfony 4.4 起已弃用,并且在 Symfony 5.0 和 更高。将它们替换为 type: service 或 type: pool and use 使用 Symfony Cache 定义的任何缓存池/服务。
但我使用的是缓存类型池或服务。我的配置如下:
doctrine:
orm:
metadata_cache_driver:
type: pool
pool: doctrine.system_cache_pool
framework:
cache:
default_memcached_provider: 'memcached://localhost:11211'
pools:
doctrine.system_cache_pool:
adapter: cache.adapter.memcached
public: false
default_lifetime: 86400
我什至尝试将缓存配置为这样的服务,这给了我同样的弃用通知:
doctrine:
orm:
metadata_cache_driver:
type: service
id: doctrine.system_cache_provider
services:
doctrine.system_cache_provider:
class: Symfony\Component\Cache\DoctrineProvider
public: false
arguments:
- '@doctrine.system_cache_pool'
framework:
cache:
default_memcached_provider: 'memcached://localhost:11211'
pools:
doctrine.system_cache_pool:
adapter: cache.adapter.memcached
public: false
default_lifetime: 86400
任何想法如何摆脱弃用通知?
【问题讨论】:
-
这个问题没有错,也不要投反对票。这是添加了弃用通知的拉取请求:github.com/doctrine/DoctrineBundle/pull/1196。这可能会提供一些信息。
标签: symfony doctrine-orm symfony-4.4