APC __PHP_Incomplete_Class_Name

我正在学习在PHP中使用APC.我创建了以下脚本进行测试:

<?php

require 'Person.php';

if (!$p = apc_fetch('p')) {
    $p = new Person('larry');
    apc_store('p', $p);
}

echo $p->getName();

其中Person.php是:

<?php

class Person
{
    private $_name;

    public function __construct($_name)
    {
        $this->_name = $_name;
    }

    /**
     * @param mixed $name
     */
    public function setName($_name)
    {
        $this->_name = $_name;
    }

    /**
     * @return mixed
     */
    public function getName()
    {
        return $this->_name;
    }
}

它工作正常,但在apc中存储的值是:

__PHP_Incomplete_Class::__set_state(array(
'__PHP_Incomplete_Class_Name' => 'Person',
'_name' => 'larry',
))

可以吗或’__PHP_Incomplete_Class_Name’出问题

谢谢

解决方法:

虽然我不知道APC,但是__PHP_Incomplete_Class_Name通常是由于您在没有类定义时尝试访问对象引起的

在包含或要求您的类结构之前调用session_start时,或在没有定义时反序列化某些内容时,通常会看到这种情况.

从APC装回时,请确保在加载类定义(包括或要求)之前先进行访问,我想一切都很好.

上一篇:PHP大文件上传支持断点上传组件


下一篇:Windows APC学习笔记(一)—— APC的本质&备用APC队列