本文介绍了PHP 反序列化偏移错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个代码:
$serialized = $_POST['cartSer'];
echo $serialized;
打印此内容:
a:1:{s:15:\"test\";s:3:\"999\";}
a:1:{s:15:\"test\";s:3:\"999\";}
然后我添加以下代码:
echo unserialize($serialized);
并最终出现此错误:
注意:unserialize() [function.unserialize]:第 5 行/mypage.php 中 43 个字节的偏移量 5 处出错
Notice: unserialize() [function.unserialize]: Error at offset 5 of 43 bytes in /mypage.php on line 5
我在反序列化时做错了什么?
What am I doing wrong with the unserialize?
推荐答案
听起来你有 魔术引号.要么禁用它们,要么通过 stripslashes
Sounds like you have magic quotes enabled. Either disable them, or run your value through stripslashes
$serialized = stripslashes($_POST['cartSer']);
这篇关于PHP 反序列化偏移错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!