我已将我的 symfony 应用程序更新为 5.1.3 .但是从那以后,清除缓存时出现了一个类丢失异常。
In App_KernelDevDebugContainer.php line 1050:
Attempted to load class "MappingDriverChain" from namespace "Doctrine\Common\Persistence\Mapping\Driver".
Did you forget a "use" statement for "Doctrine\Persistence\Mapping\Driver\MappingDriverChain"?
我检查了缓存文件,symfony 确实在缓存上请求这个类。从其他一些 SO 帖子中,我得到的印象是学说结构已经改变。我在所有必须进行此更改的存储库类上也遇到了类似的问题Doctrine\Persistence\ManagerRegistry => Doctrine\Common\Persistence\ManagerRegistry
我看过一个类似的 SO 帖子关于同一问题,说更新到最新版本将解决这个问题。但就我而言,这并不成功。
是 symfony 版本的问题还是其他一些配置问题。
而且我还创建了两个数据库连接,都是 MySQL。不确定这是否与问题有任何联系。
这是我现在的 composer.json & composer.lock
最佳答案
我找到了解决问题的方法。在 Composer 更新 doctrine/persistence
更新为 V2.0.0 & doctrine/common
至 V3.0.2 .而且我认为这两个版本尚不兼容 symfony/orm
V2.0 所以我不得不降级教义版本以使应用程序再次运行。
composer require doctrine/common:2.13.3 --update-with-dependencies
- Downgrading doctrine/persistence (2.0.0 => 1.3.7): Loading from cache
- Downgrading doctrine/common (3.0.2 => 2.13.3): Loading from cache
现在该应用程序在 symfony 5.1.3 中并且可以正常工作。如果我因为这次降级而遇到任何问题,我会更新。
关于php - Symfony 5.1.3 清除缓存时出现问题 : Attempted to load class "MappingDriverChain" from namespace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63219927/