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

Shopware 6迁移至服务器后出现DriverManager数据库连接错误求助

Shopware 6 数据库连接错误解决方法
  • 检查.env文件格式
    确保DATABASE_URL的定义没有多余空格,等号前后必须紧密连接,正确格式如下:

    DATABASE_URL=mysql://xxx:xxx@localhost:3306/xxx
    

    如果密码包含@、#、&等特殊字符,必须进行URL编码(比如@替换为%40,#替换为%23),否则会导致URL解析异常。

  • 强制指定数据库驱动
    即使URL包含mysql://协议,仍可手动指定驱动来避免解析问题:

    1. 在.env文件中添加一行:
      DATABASE_DRIVER=pdo_mysql
      
    2. 或者修改config/packages/doctrine.yaml配置文件,明确指定驱动:
      doctrine:
          dbal:
              url: '%env(resolve:DATABASE_URL)%'
              driver: pdo_mysql
      
  • 清除缓存并重新加载配置
    执行Shopware缓存清理命令,确保新配置生效:

    bin/console cache:clear
    # 生产环境需添加环境参数
    bin/console cache:clear --env=prod
    

    也可以手动删除var/cache目录下的所有文件,强制刷新缓存。

  • 验证环境变量加载状态
    在服务器终端执行以下命令,检查DATABASE_URL是否被正确读取:

    echo $DATABASE_URL
    

    如果输出为空或与配置不符,需确认服务器环境(Apache/Nginx)是否允许PHP读取.env文件的环境变量:

    • Apache:使用SetEnv指令在虚拟主机配置中声明变量
    • Nginx:在fastcgi_param中添加对应环境变量
  • 测试数据库连接有效性
    用MySQL命令行直接测试连接参数是否正确,排除数据库自身的问题:

    mysql -u xxx -p -h localhost -P 3306 xxx
    

    输入密码后如果能正常进入数据库,说明连接参数本身无问题,问题出在Shopware的配置解析环节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 02:12:33