奇怪的错误,在一台服务器上工作,但在另一台服务器上没有

时间:2013-06-19 12:11:33

标签: php undefined-function

下面的代码虽然在一台服务器上工作但对另一台服务器不起作用

abstract class XCTemplate
{
    private static $_instances  =   array();

    public static function Instance($params = array())
    {
        $class = get_called_class();

        if(!isset(self::$_instances[$class]))
        {
            self::$_instances[$class]   =   new $class($params);
        }

        return self::$_instances[$class];
    }
}

我从上面的代码中得到的错误如下:

Fatal error: Call to undefined function get_called_class() in /home/mysite/public_html/wp-content/themes/mysite/Libray/class_template.php on line 36

2 个答案:

答案 0 :(得分:2)

它无法运行的服务器似乎没有运行PHP 5.3或更高版本。您可以通过致电phpinfo()轻松验证您的PHP版本。

如果正在运行< PHP 5.3。

Docs

  

<强> get_called_class

     

(PHP 5> = 5.3.0)

答案 1 :(得分:1)

自版本5.3以来

get_called_class存在。您的服务器之一不是运行旧版本吗?