0

错误是 ServiceNotFoundException:服务“jms_serializer.metadata_driver”依赖于不存在的服务“原则”。

我在 composer.json 中的配置:

“jms/serializer-bundle”:“dev-master”,“jms/di-extra-bundle”:“dev-master”

怎么了?

4

1 回答 1

1

您是否将默认对象构造函数别名为DoctrineObjectConstructor? 例如

jms_serializer.object_constructor:
    alias: jms_serializer.doctrine_object_constructor

如果您是,似乎DoctrineObjectConstructor假设使用 Doctrine 的 ORM 解决方案,而不是像 MongoDB 这样的 ODM 解决方案。另一位用户在这里评论了DoctrineObjectConstructor与 MongoDB的使用。

总之,您需要使用对而不是的DoctrineObjectConstructor引用重新定义,例如:doctrine_mongodbdoctrine

jms_serializer.doctrine_object_constructor:
    class:        %jms_serializer.doctrine_object_constructor.class%
    public:       false
    arguments:    ["@doctrine_mongodb", "@jms_serializer.unserialize_object_constructor"]

即使问题与 没有明确相关DoctrineObjectConstructor,您可能会发现上述解决方案可以转换为导致配置问题的服务或对象。

于 2013-09-12T14:22:41.447 回答