我最近使用 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.
我基本上被困在那里,无法部署任何新的变化。关于我能做什么的任何想法(除了清除服务器并提供一个新服务器,但这似乎有点暴力:))