问题描述

这是我的设置。我有一个在 http://example.com 运行的多站点实例,我想做开发和分期。将现有的多站点实例 WP 移动到本地主机是一个噩梦,所以我打算在分段位置做开发。

我设置 http://staging.example.com 指向主机帐户的/public_html /staging /目录,并将所有 WP 文件从我的根拷贝到/staging /目录中。我也复制了数据库文件 (SQL 转储,将表导入新数据库),并将 wp-config.php 文件更改为指向新的数据库。

在运行 SQL 以更改数据库记录之后,我还在 wp-config.php 文件中更改了这一行:

/** Turning on WordPress MU, new in 3.0 */
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'example.com' ); // <- I change this line
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

变成:

define( 'DOMAIN_CURRENT_SITE', 'staging.example.com' ); // <- now changed

当我加载 http://staging.example.com,我得到… Error establishing database connection

我已经检查并三重检查了用户名和密码,确保用户拥有新的分段数据库的所有权限,而且已将 DBHOST 作为’localhost'(尽管将其更改为 staging.example.com 没有帮助,其一) 。

为什么数据库连接失败?任何人? (感谢您的帮助提前。)

注意:http://example.com 在非常类似的数据库连接设置上正常运行,只需使用不同的数据库,因此数据库服务器关闭不是问题。

最佳解决方案

有一个想法 – 当我访问 www.example.com/staging/wp-admin 时,它会自动将我重定向到 www.example.com/wp-admin

从 staging.example.com 到 example.com/staging 的重定向是否与现有安装冲突?

更新:看起来可能与.htaccess 问题和数据库中复杂的域引用有关

从 WP 食典:

Moving WordPress Multisite

Multisite is far more complicated to move, as the database itself has multiple references to the server name as well as the folder locations.

The best way to move Multisite is to move the files, edit the .htaccess and wp-config.php (if the folder name containing Multisite changed), and then manually edit the database. Search for all instances of your domain name, and change them as needed. This step cannot yet be easily automated. If you’re moving Multisite from one folder to another, you will need to make sure you edit the wp_blogs entries to change the folder name correctly.

次佳解决方案

真正只有一种方法可以轻松转让我发现的域名或主机。它在单和多站点安装上对我而言完美无缺。

  1. 将您的数据库导出到.sql 文件。 (我为此使用 PHPMyAdmin)

  2. 使用稍微不同的名称创建要编辑的文件的新副本。

  3. 在您打开文件首选文本编辑器> (例如 gedit)

  4. 在从生产到 dev 的域和绝对路径 (/home /username /public_html /to /home /username /public_html /) 上运行查找/替换。

  5. 保存文件。

  6. 将整个安装复制到您的开发目录。

  7. 将以下行添加到 wp-config.php 文件中:define(‘RELOCATE’,true);

  8. 登录并保存您的永久链接设置。

  9. 删除您放在 wp-config.php 中的定义规则。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。