its*_*_me 15 mysql wordpress mysqldump mariadb
背景:我下载了我的WordPress站点数据库的*.sql备份,并将旧数据库表前缀的所有实例替换为新的(例如,从默认wp_值为类似asdfghjkl_).
我刚刚了解到WordPress在数据库中使用了序列化的PHP字符串,而我所做的将与序列化字符串长度的完整性混淆.
问题是,我在学习之前删除了备份文件(因为我的网站仍然正常运行),并且安装了许多插件.所以,我无法回复,因此我想知道两件事:
如果可能的话,我该如何解决这个问题呢?
这会导致什么样的问题?
(这篇文章指出,例如,一个WordPress博客可能会丢失它的设置和小部件.但这似乎并没有发生在我身上,因为我的博客的所有设置仍然完好无损.但我不知道什么可以在内部被打破,或者它将来会出现什么问题.因此这个问题.)
s_h*_*dum 16
访问此页面:http://unserialize.onlinephpfunctions.com/
在该页面上,您应该看到此示例序列化字符串:a:1:{s:4:"Test";s:17:"unserialize here!";}.拿一块它 - s:4:"Test";.这意味着"字符串",4个字符,然后是实际的字符串.我很确定你做了什么导致数字字符数与字符串不同步.使用上述网站上的工具进行播放,例如,如果将"测试"更改为"测试",您将看到错误.
你需要做的是让那些字符数与你的新字符串相匹配.如果您没有损坏任何其他编码 - 删除冒号或其他东西 - 应该解决问题.
car*_*ini 11
尝试将域名从localhost更改为真实URL后,我遇到了同样的问题.经过一番搜索后,我在Wordpress文档中找到了答案:
https://codex.wordpress.org/Moving_WordPress
我会引用那里写的内容:
要避免序列化问题,您有三个选择:
- 如果您可以>访问您的仪表板,请使用Better Search Replace或Velvet Blues Update URL插件.
- 如果您的托管服务提供商(或您)已安装WP-CLI,请使用WP-CLI的搜索替换.
- 在数据库上手动运行搜索并替换查询.注意:仅在wp_posts表上执行搜索和替换.
我最终使用了WP-CLI,它能够替换数据库中的内容而不会破坏序列化:http: //wp-cli.org/commands/search-replace/
| 归档时间: | 
 | 
| 查看次数: | 16117 次 | 
| 最近记录: |