反序列化问题 php


Unserialize issue php

我正在使用以下内容在php中序列化变量

$sum=30;
$a = serialize($sum);
file_put_contents('store', $a);

在另一个页面中,我无法通过反序列化函数来获取变量。在我的本地 服务器,它工作正常。但是当我转移到实时服务器时,我无法获取未序列化的变量。我正在使用以下内容进行反序列化,

$s = file_get_contents('store');
$a = unserialize($s);

问题出在哪里?

一般情况是:

  1. 文件的访问权限无效 store ,因此实时服务器无法从中读取数据。
  2. 服务器上的不同序列化机制。您使用的是igbinary扩展还是suhoshin扩展?它们可以影响序列化/取消序列化过程。
  3. PHP的错误版本。例如,从 5.4.6 到 5.4.11 的 PHP 版本有很多序列化损坏的错误。
  4. 最后一种情况是文件的路径无效,请通过检查仔细检查该文件是否存在且可读is_readable('store');