Symfony 4-教义映射例外,仅在产品环境中

问题描述 投票:1回答:1

在具有多个实体管理器的新Symfony 4项目上进行部署,以下异常仅在生产环境中发生。在开发中,一切正常。

未捕获的PHP异常准则\ Persistence \ Mapping \ MappingException:“在以下位置找不到类'App \ Entity \ EntitesGlobales \ Entreprise'链配置的名称空间

我根据Symfony文档定义了两个实体管理器

    orm:
    default_entity_manager: default
    entity_managers:
        default:
            connection: default
            mappings:
                EntitesGlobales:
                    is_bundle: false
                    type: annotation
                    dir: '%kernel.project_dir%/src/Entity/EntitesGlobales'
                    prefix: 'App\Entity\EntitesGlobales'
                    alias: App\EntitesGlobales
        customer:
            ...

我尝试更改许多参数,我手动清除了缓存,预热了缓存,我赋予了文件夹和文件777的权利,但没有任何效果。我没有在网上找到类似的问题。

任何想法?在此先感谢

symfony doctrine-orm doctrine symfony4
1个回答
1
投票

我面临着完全相同的问题。文件config/packages/prod/doctrine.yaml存在的事实使config/packages/doctrine.yaml的某些配置不被考虑。尝试删除主义产品文件,您将看到该异常消失。

解决方案是像这样在config/packages/prod/doctrine.yaml中显露两个实体管理器:

doctrine:
    orm:
        entity_managers:
            main:
                metadata_cache_driver:
                    type: pool
                    pool: doctrine.system_cache_pool
                query_cache_driver:
                    type: pool
                    pool: doctrine.system_cache_pool
                result_cache_driver:
                    type: pool
                    pool: doctrine.result_cache_pool
            secondary:
                metadata_cache_driver:
                    type: pool
                    pool: doctrine.system_cache_pool
                query_cache_driver:
                    type: pool
                    pool: doctrine.system_cache_pool
                result_cache_driver:
                    type: pool
                    pool: doctrine.result_cache_pool

在此处查看讨论https://github.com/symfony/symfony/issues/27769

© www.soinside.com 2019 - 2024. All rights reserved.