Wordpress迁移到本地环境

时间:2016-09-14 18:29:02

标签: wordpress

上下文

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

迁移

  1. 我已经ssh到生产服务器,压缩整个网站文件夹并转移到我的本地环境以及转储的数据库。
  2. 我已将其部署到一个与生产服务器具有相同灯泡配置的流浪盒中。
  3. 我在开发环境中恢复的数据库中运行了以下更新。
  4. UPDATE wp_options SET option_value = replace(option_value,    'http://production.com', 'http://dev.site') WHERE option_name = 'home' OR option_name = 'siteurl';
    
    UPDATE wp_posts SET post_content = replace(post_content, 'http://production.com', 'http://dev.site');
    
    UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://production.com','http://dev.site');
    

    问题

    在我的开发环境中访问网站时,我注意到许多生产短代码已被破坏。

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

  1. 停用重新启用所有插件
  2. 激活一个不同的(最好是默认/内置)主题,然后重新激活您当前的主题。
  3. 前往设置 - > 永久链接,只需点击保存(保持所有设置相同)
  4. 对于其他读这个答案的人: 重要的是要注意,如果您的网址发生了更改并且您没有运行问题中提到的SQL修补程序,那么几乎所有这些都是不可能的

    如果需要,我已在下方添加了我自己的版本,您只需记住将oldsite-url.comnewsite-url.com替换为相关值。

    如果相关数据库使用自定义表格前缀(即不是wp_),则需要记住查找 - > 也替换

    这是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');