16

我正在尝试将 WordPress 站点从我的本地服务器移动到在线服务器。

问题是,在迁移之后,如果我尝试打开管理页面 (wp-admin),我只会获得一个白页,如您在此处看到的:http: //scorejava.com/wordpress/wp-admin/。主页上的其他所有内容似乎都运行良好:http: //scorejava.com/wordpress/

在我的本地 Web 服务器中,我将 WP 站点放入文件夹中:/var/www/wordpress. 我已经将它移到了一个wordpress文件夹中,该文件夹位于我的在线 Web 服务器的根目录中。

我还使用 MySql 将本地数据库导入到 onlyne 数据库中,然后我使用搜索和替换 WordPress 数据库脚本自动将所有出现更改为具有http://scorejava.com/wordpress/http://localhost/wordpress的数据库表。

4

13 回答 13

14

您的网站出现错误,您需要了解发生了什么。

WordPress 网址

在迁移 URL 更改的 WordPress 站点时,您需要告诉 WordPress 新 URL。WordPress 将该信息存储在数据库中,因此如果您对此感到满意,您可以wp_options在数据库的表中找到正确的条目并更新其值。

我将展示一些针对标准 WordPress 安装(站点 URL 是 WordPress 根目录)的修复,但如果您有不同的设置,您可能需要使用不同的值。homesiteurl

通过 SQL 修复 URL

您将需要更新数据库中的相关字段,这些字段是wp_optionswhere或. 您可以使用 phpmyadmin、mysql-workbench 或其他数据库管理工具找到这些字段,或者您可以使用以下查询,将 URL 更改为您自己的。option_namesiteurlhome

UPDATE `wp_options` SET `option_value`='http://www.myurl.com' WHERE `option_name` IN ('siteurl', 'home');

通过修复 URLwp-config.php

但是,您也可以通过 来执行此操作wp-config.php,我觉得这样做更舒服。只需打开wp-config.php并添加以下行:

// Site URLS (override DB settings)
define('WP_HOME','http://www.myurl.com');     //<-- NO TRAILING /
define('WP_SITEURL','http://www.myurl.com');  //<-- NO TRAILING /

显然,您需要提供正确的 URL。

这可能是您遇到的唯一错误,将这些行添加到 后wp-config.php,您将能够正常登录并使用您的网站。

调试 WordPress 错误

但是,如果您继续遇到问题,并且在您开发网站的任何时候,您都会希望看到错误输出。您可以检查您的服务器日志以获取有关错误的信息,但您可能会发现 WordPress 更方便地在页面中简单地显示错误。要启用错误显示,请将以下设置更改为truein wp-config.php

define('WP_DEBUG', true);

现在 WordPress 将直接在网页中显示它遇到的任何错误。请务必将设置更改false为在生产站点上使用。

wp-config.php

该文件将位于您的 wordpress 安装的根目录中。要进行此处提到的任何更改,您可以直接在服务器上编辑文件(ssh例如通过),或者使用 FTP 客户端下载文件,使用文本编辑器进行更改,然后再次上传文件。

在进行任何更改之前保留备份副本也是一个好主意,以防您在工作时破坏某些东西。

参考

您可以在文档页面上阅读有关更改 WordPress 站点 URL 的所有内容。

于 2015-02-11T17:02:01.743 回答
7

迟到了,我最近遇到了这个问题,我设法解决了这个问题。这是我所做的。

第 1 步:从文件中设置WP_DEBUGtruewp-config.php

第2步:我尝试domain.com/wp-login.php而不是domain.com/wp-admin通过这个我能够获得至少登录表单和一些错误Warning: Cannot modify header information - headers already sent by

第3步:我在第一行之后添加ob_start();wp-login.php文件<?php,当然是为了让我进入一段时间。

第4步:这个技巧奏效了。我已经禁用了所有插件,并且错误消失了。

第5步:一一激活所有插件以查找导致错误的插件,以便我可以修复特定插件的错误。就像之前有一个插件添加样式一样,wp_enqueque_style所以我将它设置为一个函数并正确挂钩。

也有一些小错误,比如deprecated函数。是否要更正它或使用备用插件取决于您。

并且不要忘记ob_startwp_login.php文件中删除。不应更改核心文件。

希望这可以帮助像我这样的人。

于 2014-06-09T08:08:05.380 回答
5

在您的 WordPress 仪表板设置中,有两个字段名为“WordPress 地址 (URL)”和“站点地址 (URL)”。这些也称为您网站的“主页”和“站点 URL”设置。这些值需要与您实际运行的服务器相匹配。

如果您无法访问管理员,您可以使用 phpmyadmin,进入您的数据库,找到 wp_options 表中的字段,并确保它们反映您的域。

在大多数情况下应该足够了。

于 2013-03-21T22:32:48.750 回答
4

我自己已经与可怕的“死亡白屏”战斗了几次。您可以浏览Wordpress 支持站点上的主题以收集一些建议,或者在 Google 上搜索很多人的故事和处理这些问题的建议。我不能为此推荐一个单一的权威参考。

在我的大多数情况下,它是由?>在我的开发服务器和生产服务器之间的换行方案更改(通常在插件中)引入的结束标记后的空格引起的。

您也可以尝试将 Wordpress 置于调试模式或添加error_reporting(E_ALL);到站点文件的第一行,/wp-admin/admin.php看看这些是否给您任何提示。

通过使用XCloner 插件在我的 Win 开发机器和 *nix 生产服务器之间进行传输,我个人能够避免这些(触摸木头) 。

于 2013-03-21T21:59:16.947 回答
2

编辑 wp-content/themes/active-theme-folder/function.php 并在之前添加此代码:

<?php
define('WP_HOME','http://www.myurl.com');     //<-- NO TRAILING /
define('WP_SITEURL','http://www.myurl.com');
于 2017-04-27T10:21:58.713 回答
1

在停止编辑行上方的 wp-config.php 文件中,添加以下行:

define('RELOCATE',true);
/* That's all, stop editing! Happy blogging. */

然后转到您的登录 URL,刷新页面并登录。重要提示:如果您可以登录,则在进一步之前删除 RELOCATE 行。然后导航到:

Settings > General

将您的 Wordpress URL 和站点地址设置为正确的位置:

WordPress Address (URL): http://example.com/wordpress

Site Address (URL): http://example.com/myblog

按“保存”。

于 2018-05-13T11:19:35.403 回答
1

将以下行添加到wp-config.php文件中:

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);

define('WP_SITEURL', WP_HOME . '/');
于 2018-04-19T11:46:55.873 回答
1

在许多情况下,当将文件迁移到不同的服务器时,这个问题的出现仅仅是因为您的一个 PHP 文件中的一个小错误。错误是关闭后的附加字符?> 文件中的 PHP 标记。这些可能只是简单的空白或返回,但它们通常可能是白屏死机的原因。

罪魁祸首是 WordPress 主题中的 functions.php 文件。在纯文本文件编辑器中查看它(大多数主机帐户通常都可用),并确保删除结束标记后的所有行。

如果它不在此文件中,请使用错误报告来识别罪魁祸首文件,它可能位于插件或主题中的其他文件中。

正如 Jon Surrell 提到的启用错误显示,在 wp-config.php 中将以下设置更改为 true。

define('WP_DEBUG', true);
于 2018-11-19T11:26:04.353 回答
0

迁移到本地服务器后,我遇到了同样的问题。第一次尝试失败,因为数据库中有许多硬编码的文件路径。所以我再次尝试并注意创建与实时服务器上相同的路径以及相同的主机名和数据库名。现在网站很好,但是 wp-login 出现了白屏。

使用 wp-debug 我发现问题是由 wp-super-cache 插件引起的,该插件在 config.php 中有一个硬编码的完整文件路径 将此路径更改为完整的本地路径就可以了。

于 2017-02-20T13:42:38.977 回答
0

每个人。几天前,我通过 BlogVault 移植了 WordPress 多站点实例。过程进展顺利,站点按需要工作。但是我无法进入控制台,总是收到错误“您的浏览器不支持cookie,请启用它们并重试”。我花了几天时间研究并发现错误是由于页面“wp_options”的代码中的条目而发生的。

原网站使用线路

define ('COOKIE_DOMAIN', strtolower (stripslashes ($ _SERVER ['HTTP_HOST'])));

但是新服务器使用该行

define ('COOKIE_DOMAIN', mydomain.com);"

替换代码行解决了这个问题。希望这对某人有帮助)

于 2020-10-03T07:51:18.930 回答
0

我将这个答案添加到战斗中,希望它可以帮助其他人。我按照上面的所有建议都无济于事。实际上,我不得不破解 PHP 文件以强制我的管理员访问面板。通过面板,我发现我的管理员帐户没有被分配管理员角色。

这是我对“wp-includes/capabilities.php”的破解

function current_user_can( $capability ) {
    $current_user = wp_get_current_user();

    if ( empty( $current_user ) ) {
        return false;
    }

return true;  // HACK to get superuser power to any logged in user

    $args = array_slice( func_get_args(), 1 );
    $args = array_merge( array( $capability ), $args );

    return call_user_func_array( array( $current_user, 'has_cap' ), $args );
}    

这允许管理员面板出现,可以访问https://example.com/wp-admin/users.php,然后我可以分配角色。然后我破解了capabilities.php,以确保所有用户都拥有正确的权限,因为我已经分配了“管理员”。

于 2019-05-09T17:08:47.567 回答
0

这些是我通常遵循的步骤。

  1. 上传文件和数据库。
  2. 设置正确的文件权限。
  3. 更新 wp-config.php 文件中的数据库配置以匹配服务器数据库登录。
  4. 更新wp_options用于更新站点 url 和主页 url 的表。
  5. 如果一切顺利,您应该能够使用wp-login.phpurl 登录到管理员。
  6. 接下来要做的第一件事是转到永久链接并单击保存,它将自动更新.htaccess文件。如果没有写入权限,它将显示您可以复制它并通过 ftp 编辑文件。
  7. 接下来,您可以使用名为velvet urls. 使用了很多年。它将更新数据库中的所有其他 url。

如果一切顺利,所有这些步骤就足够了。

如果你得到一个空白页或其他东西,你可以打开错误报告并从 wp 配置文件本身写入日志。您可以尝试其中一些进行调试。

  1. 只需从文件夹中一一删除插件。
  2. 删除您正在使用的自定义主题。

除非您主要编辑核心文件,否则它将解决问题。只有其他机会是 php 或 mysql 的版本不匹配,这也是迁移时需要注意的非常重要的事情。希望这可以帮助某人。

于 2018-05-13T12:07:04.283 回答
0

这可能是一个较晚的重播,但希望它可以帮助其他人。

就我而言,这是我用来解决问题的步骤。

  1. 从您的 WordPress 项目根目录编辑wp-config.php文件并更改define('WP_DEBUG', true);而不是 false。
  2. 将相同的文件上传到新服务器的项目根目录。
  3. 尝试像以前一样登录www.yourDomain.com/wp-admin - 希望现在您能够登录后端管理员
  4. 转到设置->永久链接-在常用设置下-选择单选按钮plan然后单击保存按钮,然后再次选择day and name保存,不要忘记单击保存,取回您的域并检查您的站点,内页应该工作得很好。
  5. 返回wp-config.php并将值恢复为 false 并再次上传。
  6. 而已。

我不是 wordpress 开发人员,但上述解决方案对我来说非常好,并且没有找到任何正确解释的地方。

于 2021-11-08T15:58:13.080 回答