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

Trellis部署失败:报错“Error: This is not a multisite install”求助

解决Trellis+Bedrock部署多站点时的"This is not a multisite install"错误

我帮你一步步排查和解决这个问题,毕竟用Bedrock+Trellis部署多站点时,配置细节很容易踩坑:

1. 先确认多站点配置是否完整

你提到补加了WP_ALLOW_MULTISITE,但完整的多站点配置需要一整套定义,Bedrock下这些配置应该放在config/application.php或者对应环境的配置文件(比如生产环境的config/environments/production.php)里。确保你的配置包含以下完整内容:

/* Multisite */
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // 子文件夹多站点必须设为false
define('DOMAIN_CURRENT_SITE', 'your-domain.com'); // 替换成你的实际主域名
define('PATH_CURRENT_SITE', '/'); // 子文件夹多站点这里填根路径即可
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

注意:生产环境建议把这些配置放在config/environments/production.php里,避免和开发环境的配置冲突。

2. 检查配置文件的加载优先级

Bedrock的配置加载顺序是:config/application.php → config/environments/{environment}.php → 环境变量。如果你的生产环境配置文件里没有包含多站点定义,甚至不小心写了define('MULTISITE', false),会直接覆盖application.php的配置,这是很常见的疏漏。

3. 排查新主题是否干扰多站点检测

广告公司提供的Bedrock主题可能自带了多站点检测逻辑,或者有代码修改了WordPress的全局配置。你可以临时切换回默认主题测试:

  • 在config/application.php里添加define('WP_DEFAULT_THEME', 'twentytwentyfour');
  • 提交代码后重新执行Trellis部署命令:./trellis deploy production your-domain.com
    如果切换主题后部署成功,说明问题出在新主题上,需要检查主题的functions.php或自定义配置文件,看是否有禁用多站点的代码。

4. 清理缓存并重新同步配置

Trellis部署时可能缓存了旧配置,或者没有正确同步新文件:

  • 执行Trellis的配置同步命令:./trellis provision production your-domain.com,确保服务器上的配置是最新的
  • 登录服务器清理PHP OPcache(避免旧配置被缓存):
    sudo service php8.2-fpm reload # 替换成你服务器上的PHP版本
    

如果有安装缓存插件,也记得在后台清理站点缓存。

5. 验证数据库中的多站点表是否存在

首次部署多站点时,WordPress会自动创建wp_blogs、wp_site等核心表。你可以通过MySQL客户端连接服务器数据库,执行以下SQL检查:

SHOW TABLES LIKE '%blogs%';
SHOW TABLES LIKE '%site%';

如果这些表不存在,说明首次部署的多站点配置没有正确写入数据库,这种情况建议重新执行Trellis的部署+初始化命令,避免手动修改数据库。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:31:44