ClassNotFoundException Symfony 用户包

ClassNotFoundException Symfony UserBundle

我正在 Symfony2 上开发一个网站,我想集成 FOSUserBundle。我正在使用 Doctrine ORM User class。我已按照 installation steps 进行操作,但出现此错误:

ClassNotFoundException in AppKernel.php line 21:
Attempted to load class "FOSUserBundle" from namespace "FOS\UserBundle".
Did you forget a "use" statement for another namespace?

AppKernel.php:

    public function registerBundles()
{
    $bundles = array(
        ...
        new FOS\UserBundle\FOSUserBundle(),
    );

看起来位置正确:FOSUserBundle.php 位于 \vendor\friendsofsymfony\userbundle

我认为命名空间是正确的:命名空间FOS\UserBundle;

其他文件:

#config.yml

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: REMERA\PlatformBundle\Entity\User

#routing.yml

fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"

#security.yml

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

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username

    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4
            logout:       true
            anonymous:    true

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }

我已经尝试解决这个问题好几个小时了,其他类似问题的答案并没有解决我的错误。我错过了什么吗? 提前致谢。

这是如何解决的:

先尝试清除缓存。然后,如果它仍然不工作,composer remove,composer require 和 composer update 再次。 – Brewal

当您尝试清除缓存但它没有被清除时,您应该使用 --no-warmup 选项,这将确保您的缓存被重新生成并且缓存不只是预热。我认为这可以帮助你:

php app/console cache:clear --env=prod --no-warmup

php app/console cache:clear --env=dev --no-warmup