0

我最近使用 Trellis + Bedrock 在 AWS 服务器上部署了一个 wordpress 网站。第一次部署运行良好,我终于能够运行多个站点(作为子文件夹)。

后来,我们的传播机构向我们发送了一个主题(也是基于基岩的主题)。所以我将它添加到我们的存储库并再次部署。同时,我在 config/application.php 中添加了以下行,这些行是我在第一次部署新主题时忘记的:

/* Multisite */
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // Set to true if using subdomains
define('DOMAIN_CURRENT_SITE', env('DOMAIN_CURRENT_SITE'));
define('PATH_CURRENT_SITE', env('PATH_CURRENT_SITE') ?: '/');
define('SITE_ID_CURRENT_SITE', env('SITE_ID_CURRENT_SITE') ?: 1);
define('BLOG_ID_CURRENT_SITE', env('BLOG_ID_CURRENT_SITE') ?: 1);

define('WP_CORE_DIRECTORY', 'wp');

对于 wordpress_sites.yml 文件,我也有这些行:

env:
  domain_current_site: <my root url>
multisite:
  enabled: true
  subdomains: false

无论如何,我不能再部署了,我被这个消息卡住了:

TASK [deploy : Update WP database] ****************************************************************************************************************
System info:
  Ansible 2.5.0; Darwin
  Trellis at "Add support for includes.d on all sites"
---------------------------------------------------
non-zero return code
Error: This is not a multisite install.
fatal: [<my url>]: FAILED! => {"changed": true, "cmd": ["wp", "core", "update-db", "--network"], "delta": "0:00:00.223736", "end": "2018-03-28 12:06:41.074880", "rc": 1, "start": "2018-03-28 12:06:40.851144", "stderr_lines": ["Error: This is not a multisite install."], "stdout": "", "stdout_lines": []}

我尝试以服务器上的网络用户身份连接并运行一些“wp core”命令,但没有帮助:

web:/srv/www/my_site/current$ wp core multisite-install --title="Landing page" --admin_user="admin" --admin_password="xxx"
Single site database tables already present.
The network already exists.

web:/srv/www/my_site/current$ wp core multisite-convert
The network already exists.

我基本上被困在那里,无法部署任何新的变化。关于我能做什么的任何想法(除了清除服务器并提供一个新服务器,但这似乎有点暴力:))

4

1 回答 1

0

好吧,让我变笨。事实上,application.php 中的一些更改在未推送到源时(或者至少是正确的,我必须为我们的通信机构设置一个)。

所以基本上它在签出最新版本时没有得到关于多站点的更改。

对不起这个无用的问题。

于 2018-03-28T12:24:06.180 回答