问题描述:
数据库值原本是:a:1:{i:0;a:2:{s:6:”poster”;s:118:”http://www.abc.com/20210804.jpg”;s:3:”url”;s:119:”http://www.abc.com/20210804.html”;}}
替换后为:a:1:{i:0;a:2:{s:6:”poster”;s:118:”https://www.abc.com/20210804.jpg”;s:3:”url”;s:119:”https://www.abc.com/20210804.html”;}}
就是http替换为https,也替换成功了,该段数据直接失效,连数据库查询,都查询不到https://www.abc.com/20210804.jpg这个内容。如果是从网站后台更改,是能生效的。
这个问题求解,(后台能生效为什么不直接在后台改呢?因为要修改几万次,肯定要数据站执行啊。)
青海省网友说:去恶补一下PHP序列化字符串代表的含义吧。
s:118 这玩意代表长度,你图片链接加了一个字符(http->https),而s:118没有增加对应的长度
河北省网友说:那这种情况,我是不是就不能用upadate操作了啊。。求解
贵州省网友说:楼上说的很清楚了
云南省网友说:我能理解,但现在就是求方案,有什么命令可以达到替换,又能自动更新s的值呢
海南省网友说:有个插件,直接解决
吉林省网友说:替换后为:a:1:{i:0;a:2:{s:6:”poster”;s:119:”https://www.abc.com/20210804.jpg”;s:3:”url”;s:120:”https://www.abc.com/20210804.html”;}}