Symfony “不存在的服务”;fos“用户、用户、提供商、用户名、电子邮件”;

Symfony “不存在的服务”;fos“用户、用户、提供商、用户名、电子邮件”;,symfony,fosuserbundle,symfony-2.3,Symfony,Fosuserbundle,Symfony 2.3,我正在按照指南安装位于的FOSUserBundle 我的安全文件: security: encoders: FOS\UserBundle\Model\UserInterface: sha512 role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] provi

我正在按照指南安装位于的FOSUserBundle

我的安全文件:

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: sha512

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username_email

    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true
            anonymous:    true

    access_control:
        - { path: ^/admin/, role: ROLE_ADMIN }
但是,在完成所有步骤后,我得到一个错误:

ServiceNotFoundException: The service "security.authentication.manager" has a dependency on a non-existent service "fos_user.user_provider.username_email".

是什么原因造成的?

无法重现。也许这是一个神奇的“依赖服务”错误。上次我们通过删除整个供应商目录和composer.lock文件并重新运行composer update命令来消除这种情况。也许值得一试。

无法重现。也许这是一个神奇的“依赖服务”错误。上次我们通过删除整个供应商目录和composer.lock文件并重新运行composer update命令来消除这种情况。也许值得一试。

您使用的是没有用户名的FOSUserBundle 1.0。将composer.json更改为:“friendsofsymfony/user bundle”:“dev master”


2.0版本有很多好东西,包括一些有用的事件。不幸的是,它从未作为一个稳定的版本正式发布。因此是开发主版本。

您使用的是FOSUserBundle 1.0,它没有用户名\u电子邮件提供程序。将composer.json更改为:“friendsofsymfony/user bundle”:“dev master”


2.0版本有很多好东西,包括一些有用的事件。不幸的是,它从未作为一个稳定的版本正式发布。因此是开发主版本。

您是否在
AppKernel.php
中激活了FOSUserBundle?捆绑包通过composer安装并在config.yml中配置?缓存清除了吗?@Pazi是的,我按照指南做了。下面是我的其他文件Clear cache返回给我相同的错误php应用程序/控制台缓存:Clear[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]服务“security.authentication.manager”依赖于不存在的服务fos\u user.user\u provider.username\u电子邮件“。尝试使用
fos\u user.user\u provider.username
进行测试。@Pazi它返回相同的错误您是否在
AppKernel.php
中激活了FOSUserBundle?”?捆绑包通过composer安装并在config.yml中配置?缓存清除了吗?@Pazi是的,我按照指南做了。下面是我的其他文件Clear cache返回给我相同的错误php应用程序/控制台缓存:Clear[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]服务“security.authentication.manager”依赖于不存在的服务fos\u user.user\u provider.username\u电子邮件“。请尝试使用
fos\u user.user\u provider.username
进行测试。@Pazi它返回相同的错误。”