Symfony 2.7 / 3 - Doctrine:您请求了一个不存在的服务“fos_user.doctrine_registry”

Posted

技术标签:

【中文标题】Symfony 2.7 / 3 - Doctrine:您请求了一个不存在的服务“fos_user.doctrine_registry”【英文标题】:Symfony 2.7 / 3 - Doctrine: You have requested a non-existent service "fos_user.doctrine_registry" 【发布时间】:2016-05-04 01:15:53 【问题描述】:

今天做作曲家更新突然出现以下错误:

[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException] 您请求的服务不存在 “fos_user.doctrine_registry”。

composer 执行cache:clear --no-warmup 命令时。

搜索找到了与从学说转换为 MongoDB 相关的答案,但这些解决方案对我不起作用。我正在使用教义。我试过 Fosuserbundle dev-master、dev-master@dev、2.0.0-alpha1 和 2.0.0-alpha3。

还有其他建议吗?几天前 Composer 更新运行良好。

【问题讨论】:

是的,也遇到过这种情况……会继续调试,看看我发现了什么。 虽然这个问题被标记为 symfony2,但根据答案下面的 cmets,Symfony 2.7 和 2.8 也存在问题。 最初标记为 Symfony 3,但似乎适用于各种 Symfony 2 版本,如下所述。 【参考方案1】:

我的解决方案就像一个魅力......所有的作品都适用于巨大的 mongo 数据集

使用 ODM 修复 MongoDB:

# FIX doctrine registry service for 3.0 and 2.8 sf version
fos_user.doctrine_registry:
    alias: doctrine_mongodb

【讨论】:

干得好。我见过的唯一一篇关于 mongodb 学说别名的帖子【参考方案2】:

在此处创建问题:https://github.com/FriendsOfSymfony/FOSUserBundle/issues/2048

短期修复(适用于 Symfony 3.0.*):

services:
    fos_user.doctrine_registry:
        alias: doctrine

【讨论】:

感谢@xabbuh,为此修复!但它不适用于 3.0(也可能是 2.8)。 谢谢。已经为我工作了。我正在使用 Symfony 3.0.* 和 fosuserbundle "dev-master@dev" 在 Symfony 2.7.8 上为我工作。谢谢! 这可行,但我的生产缓存在此更新后也不会清除。我收到错误:第 442 行的 ../app/cache/prod/appProdProjectContainer.php 中找不到类 'FOS\UserBundle\Doctrine\Orm\UserListener' 谢谢,请务必在 app/config/config.yml 上导入 app/config/service.yml,否则将其放在您的 service.yml 包中

以上是关于Symfony 2.7 / 3 - Doctrine:您请求了一个不存在的服务“fos_user.doctrine_registry”的主要内容,如果未能解决你的问题,请参考以下文章

Symfony 2.7 cache:clear 命令检查每个数据库连接

在 symfony sonata 管理包的不同子菜单中拆分域

symfony 注销目标从未应用

在 Symfony 2(.7) 中禁用已弃用的警告

symfony2.7 prod环境部署的几个问题

带有 LIKE 的 Symfony Sonata SEO 自定义 sql 查询