Wordpress迁移到本地环境

Wordpress迁移到本地环境,wordpress,Wordpress,上下文 我被指派更新第三方Wordpress主题,第一项任务是将生产网站迁移到我的开发环境中 迁移 我已经使用ssh连接到生产服务器,压缩整个网站文件夹,并将其与转储的数据库一起传输到本地环境 我已经将它部署到一个与生产服务器具有相同lamp配置的vagrant box中 我在开发环境中恢复的数据库中运行了以下更新 : 问题 在我的开发环境中访问网站时,我注意到许多产品的短代码都已损坏 有什么想法吗 大多数迁移中断是由错误的序列化数据引起的 修复这些中断的最简单方法是强制重新创建数据。这可以通过

上下文

我被指派更新第三方Wordpress主题,第一项任务是将生产网站迁移到我的开发环境中

迁移

  • 我已经使用ssh连接到生产服务器,压缩整个网站文件夹,并将其与转储的数据库一起传输到本地环境
  • 我已经将它部署到一个与生产服务器具有相同lamp配置的vagrant box中
  • 我在开发环境中恢复的数据库中运行了以下更新
  • :

    问题

    在我的开发环境中访问网站时,我注意到许多产品的短代码都已损坏


    有什么想法吗

    大多数迁移中断是由错误的序列化数据引起的

    修复这些中断的最简单方法是强制重新创建数据。这可以通过强制插件将序列化数据重写到MySQL数据库来实现

    遵循这些步骤将有助于解决您可能遇到的大多数迁移错误:

  • 停用并重新激活所有插件
  • 激活不同的主题(最好是默认/内置的),然后重新激活当前主题
  • 转到设置->永久链接,然后单击保存(保持所有设置不变)
  • 对于阅读此答案的其他人: 需要注意的是,如果您的URL发生了更改,并且您没有运行问题中提到的SQL修复程序,那么几乎所有这些都是不可能的

    如果需要,我已经在下面添加了我自己的版本,您只需记住用相关值替换
    oldsite url.com
    newsite url.com

    如果所讨论的数据库使用自定义表前缀(即not
    wp\uwp
    ),则还需要记住查找->替换该前缀

    下面是SQL查询:

    UPDATE wp_options SET option_value = replace(option_value, 'http://oldsite-url.com', 'http://newsite-url.com') WHERE option_name = 'home' OR option_name = 'siteurl';
    UPDATE wp_posts SET guid = REPLACE (guid, 'http://oldsite-url.com', 'http://newsite-url.com');
    UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://oldsite-url.com', 'http://newsite-url.com');
    UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://oldsite-url.com','http://newsite-url.com');
    

    这听起来可能有点奇怪,但您是否尝试过停用和重新激活所有插件以及活动主题?另外,进入设置->永久链接,点击保存(保持所有设置不变)。有时序列化的数据会有点反常,重置这些数据会迫使它重写。这在大多数情况下修复了迁移->短代码错误。嗨,丹尼尔-我的建议有用吗?你有没有想到一个不同的解决方案?它确实帮助了@Frits!在重新激活主题后,我发现它是在向最前面的主题请求激活码。我相信这正是它无法正常工作的原因。我要求我的客户提供所需的api密钥,我会在收到后立即报告!谢谢
    UPDATE wp_options SET option_value = replace(option_value, 'http://oldsite-url.com', 'http://newsite-url.com') WHERE option_name = 'home' OR option_name = 'siteurl';
    UPDATE wp_posts SET guid = REPLACE (guid, 'http://oldsite-url.com', 'http://newsite-url.com');
    UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://oldsite-url.com', 'http://newsite-url.com');
    UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://oldsite-url.com','http://newsite-url.com');