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

Drupal Drush报错:指定数据库连接default未定义求助

解决Drush无法识别Drupal多站点配置导致的数据库连接错误

问题根源

Drush当前默认加载了sites/default的配置,而非你指定的sites/mysite,原因是Drush未正确匹配到目标站点目录,导致无法读取settings.local.php中的数据库配置。

解决方案

1. 强制指定Drush的站点路径

修改drush/sites/local.site.yml,添加site_path字段直接指定站点目录,跳过自动匹配逻辑:

mysite:
  root: /Users/me/Desktop/Work/Projects/mysite/docroot
  uri: mysite.local
  site_path: sites/mysite

2. 确保settings.local.php被正确加载

检查sites/mysite/settings.php文件末尾是否包含以下代码,保证本地配置能被Drupal读取:

if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
  include $app_root . '/' . $site_path . '/settings.local.php';
}

如果没有,手动添加这段代码,否则你的数据库配置不会生效。

3. 验证配置并测试

先执行命令确认站点路径是否正确:

drush @local.mysite status

若输出的Site path显示为sites/mysite,再执行缓存刷新命令:

drush @local.mysite cr

额外排查要点

  • 确认本地hosts文件已配置127.0.0.1 mysite.local,保证uri能被正确解析。
  • 若上述配置仍不生效,可尝试进入docroot目录直接执行命令,明确指定站点域名:
    cd /Users/me/Desktop/Work/Projects/mysite/docroot
    drush cr -l mysite.local
    
  • 检查Drush版本与Drupal版本是否兼容(Drupal 9/10推荐使用Drush 11+)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:22:54