本帖最后由 Dark__Angel 于 2010-08-21 17:36:45 编辑

解决方案 »

  1.   

    你的构造函数的结构很奇怪,为什么用类的静态方法去构造一个类的静态成员对象?这样逻辑上似乎会引起理解混乱,不能保证后面的逻辑是正确的。你把代码改成用常规的类实例化的方法$obj = new cls_BoxCore();构成新对象,然后再看看global $G的赋值有没有问题。
      

  2.   

    采用了SINGLETON模式
    DISCUZ! X就是采取的这种模式,而且这段代码和DISCUZ的核心类文件很相似
    DISCUZ的核心类文件中就有$_G超全局变量,赋值方法和这个几乎一模一样,但他的就成功赋值了,而这个却不行
      

  3.   

    问题出在
    public $arr_globals = array(
                       'GLOBALS' => null,
                       '_GET' => null,
                       '_POST' => null,
                       '_REQUEST' => null,
                       '_COOKIE' => null,
                       '_SERVER' => null,
                       '_ENV' => null,
                       '_FILES' => null,
                       );
    不能为null,据木头老大说,这样不分配内存,应设为1或0或''这样都行