今天测试代码在反序列化一个被序列化的对象时,出现 “__PHP_Incomplete_Class”,反序列化的结果是一个不完整的Object类。

《php 手册》 中的描述:

如果在解序列化的时候需要实例化一个未定义类,则可以设置回调函数以供调用(以免得到的是不完整的 object “__PHP_Incomplete_Class”)。可通过 php.iniini_set().htaccess 定义‘unserialize_callback_func’。每次实例化一个未定义类时它都会被调用。若要禁止这个特性,只需置空此设定。还需要注意的是 unserialize_callback_func 指令是从 PHP 4.2.0 开始提供使用的。

解决办法:

把被实例化的这个类的类文件,include 进去就可以解决,因为程序没有找到这个被反序列化的类的定义,所以反序列化为一个不要完全的类