Symfony4执行make:entity出现Undefined class constant 'JSON_ARRAY'错误
报错原因
该报错由依赖包版本不兼容触发:doctrine/dbal 3.0及以上版本正式移除了早已废弃的JSON_ARRAY类常量,而你当前安装的symfony/maker-bundle版本仍在调用该常量,执行实体生成逻辑时就会抛出异常。
解决方案
你可以选择以下任意一种方式解决:
方案1:降级
doctrine/dbal到2.x兼容版本(最适配Symfony4原生生态)
执行以下命令降级依赖:composer require doctrine/dbal:"^2.10" --update-with-dependencies命令执行完成后重新运行
php bin/console make:entity即可正常生成实体属性。方案2:升级
symfony/maker-bundle到适配版本symfony/maker-bundlev1.33.0及以上版本已经修复了对doctrine/dbal3.0的兼容问题,执行以下命令升级即可:composer update symfony/maker-bundle --with-dependencies注意升级前确认你的Symfony4小版本满足maker-bundle的最低版本要求,避免出现额外的依赖冲突。
操作前建议先备份
composer.json和composer.lock文件,方便出现异常时快速回滚。
内容的提问来源于stack exchange,提问作者Ghofrane FERCHICHI
相关产品推荐
相关产品推荐

