<- 所有文章 WordPress 迁移

为什么使用search-replace serialisation-safe

发布于 2026年6月14日

如何更改WordPress站点的URL而不破坏序列化数据。

Conceptmigrate-toolkit.bitechlab.com

问题

WordPress以PHP序列化数据的形式存储了许多选项。此格式编码了每个字符串的长度。如果您使用简单的SQL查找/替换将一个URL替换为另一个长度不同的URL,声明的长度将不再匹配,WordPress将无法读取数据。

一个具体示例

一个序列化的siteurl选项。s:25表示一个25个字符的字符串。

a:1:{s:7:"siteurl";s:25:"https://ancien-domaine.com";}

天真的替换(长度错误,数据损坏):

a:1:{s:7:"siteurl";s:25:"https://nouveau-domaine.com";}

序列化安全(重新计算长度):

a:1:{s:7:"siteurl";s:26:"https://nouveau-domaine.com";}

工具的工作原理

  1. 如果值是序列化的,它反序列化该值。
  2. 递归遍历嵌套的数组、对象和字符串。
  3. 将旧字符串替换为新字符串。
  4. 重新序列化:PHP会自动重新计算长度。

结果:可以在不破坏任何小部件、菜单或Elementor设置的情况下更改为不同长度的域名。

轻松迁移 WordPress

WP Migrate Toolkit 通过 FTP 搬运文件 + 数据库,无需 SSH。

下载命令行工具 下载插件