将Wordpress与Headway移动到新域会破坏网站



我有一个客户的wordpress网站,它是使用Wordpress和Headway构建的。 我需要将其移动到新共享服务器上的新域(具有相同硬件配置的相同主机提供程序(。

我之前已经移动了许多这样的wordpress设置,包括Wordpress/Headway组合。 在调试期间,我还使用 Headway 的文档和视频来仔细检查我是否正确执行了所有操作。

我移动了数据库,用新域替换了旧域的所有匹配项,并更新了所有文件路径。 然后,我将public_html文件夹复制到新服务器。 此时,该站点应该可以正常工作。

相反,我收到 Headway 错误消息No Content to Display在其他空的 html 页面上。 我已经将问题追溯到wp-config表,Headway 在其中存储其块的序列化数据。 我可以将整个数据库的数据更新到除wp-config表中的这些 Headway 条目之外的所有位置的新域。 一旦我更新了这些,网站就会开始到处分崩离析,如果我全部更新它们,网站就会加载 Headway 错误消息No Content to Display。 底层 Wordpress 系统似乎仍在工作,因为我可以加载/wp-admin控制台并且我的所有内容都存在并且看起来正确。

如果我更深入地跟踪问题,似乎 Wordpress 函数get_options()在 Headway 文件data-layout-options.php中失败。 我无法进一步调试。

该网站在原始域上完美运行,理论上,我正在直接复制所有数据,然后简单地用新域替换旧域。

任何人都可以帮助解决类似的问题吗? 感觉就像我在追逐代码中的错误,而实际上它是某种简单的监督或配置设置。 请帮忙!!

我确实接近这个问题。

Wordpress wp-config表中序列化的 Headway 数据包含字符串长度。 自己迁移数据库,然后用新域和旧的 Web 文件夹文件路径替换旧域并替换旧域会导致 Wordpress 系统中的反序列化失败(例如 get_options( Wordpress 函数(。

我没有编写自定义脚本来处理字符串长度,而是测试了一些数据库迁移插件。 WP Migrate DB是赢家并解决了这个问题。

迁移数据库

在原始域上安装插件(原始WordPress安装(。 它会要求您输入 Web 目录的新域和新文件路径(Web 目录文件路径也非常重要(。 例如,在我的情况下,Web 目录的文件路径已从/home2/old_username 更改为/home6/new_username。

然后,该插件将转储整个 Wordpress 数据库,并将旧域和旧文件路径的所有出现替换为 Web 目录的新域和文件路径。 然后,.sql转储将本地保存在您的计算机上。

然而,这并不完美,我仍然需要做一些我自己的 grep 和替换。 此外,我必须小心这一点,因为遗漏的一些内容在 Headway 序列化数据中,我必须执行 MySQL 查询以确保我正确更新字符串长度。

错过了这几个更新,因为某些数据库条目http://www.olddomain.com,而某些数据库条目具有http://olddomain.com。 该插件并没有全部捕获,但使其易于手动替换。

最后,我不得不将此更新的.sql转储导入到新域上的空 Wordpress 数据库中。

这个故事的寓意是,Headway V3 迁移到新域并不简单。 你必须非常细致。

另一个选择,我没有尝试,因为它的价格为>75美元,是BackupBuddy。 BackupBuddy可能仍然会错过一些域和文件路径更新,所以要小心。

我已经找到了T. Brian Jones的解决方案,并刚刚将其应用于带有HEADWAY 3.6.2的WordPress 3.8.1。

一切正常。像我这样的新手的一个技巧:如果您不知道要移动数据库的服务器上的文件路径,那么在进行数据库转储之前,请在此服务器上安装 WP Migrate DB,运行插件(工具(并从那里获取路径......

谢谢的TBJ

马切伊

最新更新