本文介绍了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 反序列化偏移错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 11:15