PHP变量失去了它的价值

时间:2014-06-05 15:05:00

标签: php variables object

我有一个我以前没见过的非常严重的问题。

在我们使用开源SQC eshop,PHP版本5.3.3-7 + squeeze15的网站上,可变内存存在某种问题我认为

SQC使用notORM,此处问题以致命错误“非对象notORMResult上的函数调用”开始。

所以我深入挖掘,发现NotORM的构造函数看起来像这样:

function __construct(PDO $connection, NotORM_Structure $structure = null,NotORM_Cache $cache = null) {
    $this->connection = $connection;
    if($_GET['test']){
        var_dump($structure);
    }
    if (!isset($structure)) {
        $structure = new NotORM_Structure_Convention;
    }
    if($_GET['test']){
        var_dump($structure);
    }
    $this->structure = $structure;
    if($_GET['test']){
        var_dump($this->structure);
        exit("1");
    }
    $this->cache = $cache;
}

因此输出为NULL,因为构造函数没有得到结构参数,所以我们创建了一个对象。第二个输出是对象。然后我们将对象设置为属性,然后将THIRD OUTPUT设置为空

这怎么可能?该网站运行了大约一年半,直到昨天没有问题。我没有对PHP进行任何更新,这件事真的吓坏了我,因为它不是一个持续的问题。它有时在2小时后发生,有时在2分钟后发生,我真的不知道为什么会发生这种情况。

顺便说一句......这只是它在整个脚本中发生的开始。设置了对象属性,但是当您想要读取它们时,它们会为您提供NULL。还有第二个网站在同一台服务器上运行,同样的php配置没有问题。

感谢您的任何想法:)

0 个答案:

没有答案