nin*_*sky 5 symfony doctrine-orm symfony-4.4
自从我将 Symfony 从 4.4.15 升级到 4.4.16 以来,我收到了以下弃用通知:
\n\n\n“metadata_cache_driver”配置键已弃用。当 %kernel.debug% 为 false 时,PHP 数组\n缓存现在会自动注册。
\n
这很奇怪,因为官方文档除了以下文本之外没有提及任何有关此弃用的内容:
\n\n\n自版本 4.4 起已弃用:自 Symfony 4.4 起,所有 Doctrine 缓存类型均已弃用,并且在 Symfony 5.0 及更高版本中\xe2\x80\x99 不再可用。将它们替换为 type: service 或 type: pool 并使用\n使用 Symfony Cache 定义的任何缓存池/服务。
\n
但我正在使用缓存类型池或服务。我的配置如下:
\ndoctrine: \n orm: \n metadata_cache_driver:\n type: pool\n pool: doctrine.system_cache_pool \n\nframework:\n cache:\n default_memcached_provider: \'memcached://localhost:11211\'\n pools:\n doctrine.system_cache_pool:\n adapter: cache.adapter.memcached\n public: false\n default_lifetime: 86400\nRun Code Online (Sandbox Code Playgroud)\n我什至尝试将缓存配置为这样的服务,这给了我相同的弃用通知:
\ndoctrine:\n orm: \n metadata_cache_driver:\n type: service\n id: doctrine.system_cache_provider\n\nservices:\n doctrine.system_cache_provider:\n class: Symfony\\Component\\Cache\\DoctrineProvider\n public: false\n arguments:\n - \'@doctrine.system_cache_pool\'\n\nframework:\n cache:\n default_memcached_provider: \'memcached://localhost:11211\'\n pools:\n doctrine.system_cache_pool:\n adapter: cache.adapter.memcached\n public: false\n default_lifetime: 86400\nRun Code Online (Sandbox Code Playgroud)\n有什么想法如何摆脱弃用通知吗?
\n实际上弃用已恢复:https://github.com/doctrine/DoctrineBundle/pull/1255
因此,在升级到 DoctrineBundle 2.2.1 时,请确保保留metadata_cache_driver生产环境的配置。
编辑:该功能在 DoctrineBundle 版本 2.3.0 中再次发布。因此,metadata_cache_driver在使用此版本时,可以安全地删除生产环境的配置。