我将magento站点从1.7.0.2迁移到2.2干净安装。 迁移完成没有问题。
但是,如果我尝试编辑产品或添加新产品magento会显示错误:
无法反序列化值。
有谁知道我在这里做错了什么?
客户,类别和自定义属性全部迁移无问题
答案 0 :(得分:0)
问题出在<a href="{{route('index')}}">LOGO</a>
如果字符串被序列化(不是json而是php序列化),有一个函数/vendor/magento/framework/Serialize/Serializer/Json.php
会给你一个语法错误。
将反序列化更改为:
unserialize($string)
添加函数以检查字符串是否已序列化:
public function unserialize($string)
{
if($this->is_serialized($string)) {
$string = $this->serialize($string);
}
$result = json_decode($string, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new \InvalidArgumentException('Unable to unserialize value.');
}
return $result;
}
执行此操作后,您可以解决问题。
答案 1 :(得分:0)
从1.9.2.0迁移到2.3.2时遇到了这个问题。
我在表additional_information
中的sales_payment_transaction
为空。错误发生在字符串编号73的方法句柄中的类Migration \ Handler \ SerializeToJson中:$ unserializeData = unserialize($ value);
我选择了该类,并将unserialize()函数更改为json_decode()。