Symfony 3.4.6 - "Token "XXXXXX“未在数据库中找到。”

Symfony 3.4.6 - "Token "XXXXXX" was not found in the database."

我正在尝试测试和调试 Symfony 网络应用程序。使用 app_dev.php 前端 controller/environment 查看站点时,Web 调试工具栏未加载,当我单击 'Open the web profiler' 时,出现以下错误:

Token "XXXXX" was not found in the database

*注意:这不是 XXXXX 的字面值,而是每次我尝试打开探查器时它正在寻找的标记都会发生变化。

我也无法登录网站的管理区域,可能是因为这个令牌错误。

我认为这可能是我的 security.yml 的设置方式的问题,但我没有发现任何问题。这是:

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

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

    # https://symfony.com/doc/current/security.html#b-configuring-how-users-are-loaded
    providers:
        fos_userbundle:
            id: fos_user.user_provider.username
        in_memory:
            memory: ~

    firewalls:
        # disables authentication for assets and the profiler, adapt it according to your needs
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        main:
            pattern:
            form_login:
                provider: fos_userbundle
                csrf_token_generator: security.csrf.token_manager

            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 }

config.yml中的相关片段:

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: AppBundle\Entity\User
    from_email:
        address: noreply@someplace.com
        sender_name: 'someplace'

并且,为了完整起见,引用 config_dev.yml 中工具栏的部分:

framework:
    router:
        resource: '%kernel.project_dir%/app/config/routing_dev.yml'
        strict_requirements: true
    profiler: { only_exceptions: false }

web_profiler:
    toolbar: true
    intercept_redirects: false

最后,鉴于FOSU​​serBundle是我的用户提供者,我也执行了bin/console doctrine:schema:update --force,但问题仍然存在。

想通了。它是一个未完全安装的服务的组合,在 services.yml 中有一个条目,但缺少文件,以及我的 /var 目录的错误 permissions/ownership。我的所有应用程序都有一个单独的 linux 用户来模拟生产服务器上的内容(每个站点都有自己的 PHP-FPM 池,并且 none 具有 root 或 sudo 权限)。

因此,话虽如此,在 services.yml 和 运行 $ sudo chown -R siteuser:siteuser /path/to/this/site/project 中注释掉不完整的服务就成功了。