You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

composer update后Symfony报错App:ConfigSystem类不存在如何修复

问题成因

App:ConfigSystem是Doctrine的实体别名简写语法,旧版本doctrine/doctrine-bundle默认会为App命名空间下的实体自动注册对应别名,不需要手动配置。执行composer update后如果doctrine/doctrine-bundle升级到较新版本,默认不再自动注册未显式声明的实体别名,就会抛出找不到App:ConfigSystem类的错误。
当前Doctrine官方推荐使用实体类名::class的方式获取实体仓库,但如果项目内旧写法存量大,不需要批量修改业务代码,补全对应配置即可恢复旧写法兼容。
报错界面如下:
Symfony报错信息

兼容操作步骤
  • 打开项目内Doctrine配置文件,默认路径为config/packages/doctrine.yaml
  • 在orm配置节点下补充显式实体映射规则,注册App别名即可,原有其他配置不需要改动,参考配置如下:
doctrine:
    orm:
        # 此处保留原有所有orm配置,仅新增下面的mappings节点
        mappings:
            App:
                is_bundle: false
                # 实体定义格式:注解写法填annotation,PHP8属性写法填attribute,yml/xml驱动对应调整值
                type: annotation
                # 实体文件存放的目录路径
                dir: '%kernel.project_dir%/src/Entity'
                # 实体类对应的根命名空间
                prefix: 'App\Entity'
                # 要兼容的别名前缀,对应旧写法里App:xxx的App标识
                alias: App
  • 配置保存完成后,执行缓存清除命令,所有旧写法即可正常运行:
php bin/console cache:clear

提示:如果项目实体不是统一存放在src/Entity目录,或者实体根命名空间不是App\Entity,根据项目实际结构调整dir和prefix参数即可。

内容的提问来源于stack exchange,提问作者cLx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 01:54:34