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

升级Symfony 6.3后doctrine:migrations:diff命令无法正常运行

解决Doctrine Migrations执行时Symfony Lock StoreFactory找不到的问题

当执行命令 php bin/console doctrine:migrations:diff 出现以下错误:

In get_Lock_Default_Store_TTEhGTService.php line 20:

Attempted to load class "StoreFactory" from namespace "Symfony\Component\Lock\Store".
Did you forget a "use" statement for another namespace?

可按以下步骤排查解决:

  • 清理Symfony缓存
    错误出现在自动生成的服务代理文件,大概率是缓存残留导致旧命名空间引用。执行缓存清理命令:

    php bin/console cache:clear
    

    若清理后仍有问题,可手动删除var/cache目录下所有文件,再重新生成缓存。

  • 检查Symfony Lock组件的命名空间与版本
    StoreFactory的命名空间在Symfony不同版本中有调整:

    • 旧版本(Symfony < 5.4):Symfony\Component\Lock\Store\StoreFactory
    • 新版本(Symfony 5.4+ / 6.x+):Symfony\Component\Lock\StoreFactory
      执行composer show symfony/lock查看当前组件版本,确认命名空间是否匹配。若版本不兼容,可通过composer require symfony/lock:^适配版本号调整,确保与Symfony框架版本一致。
  • 检查自定义服务配置
    查看项目中config/services.yaml或其他服务配置文件,若存在手动配置的Lock相关服务,确认是否错误引用了Symfony\Component\Lock\Store\StoreFactory,将其修正为当前版本对应的正确命名空间。

  • 重新安装依赖
    若以上步骤无效,可尝试重新安装所有依赖,确保依赖文件无损坏:

    rm -rf vendor composer.lock
    composer install
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 02:05:27