PHP致命错误:当不在脚本的对象上下文中使用$this


PHP Fatal error: Using $this when not in object context for script

我遇到了问题:

我有一个脚本,我正在工作,刚刚升级到PHP 5.3。

在我的kit_parser.php我得到以下致命错误:

致命错误:当不在/home/sitename/public_html/secure/includes/hooks/kits/kit_parser.php的对象上下文中使用$this

这是它引用的代码段:

LINE 71---> $this->kit__log_add(array("<b>PHP Warning</b> [$errno] $errstr on line $errline in file $errfile"));
    function kit_error($errno, $errstr, $errfile, $errline, $die = false) {
    if (1==1){//$this->displayErrors ) {
        switch ($errno) {
            /* Custom Errors */
            case E_USER_ERROR:
            break;
            case E_USER_WARNING:
            break;
            case E_USER_NOTICE:
            break;
            case E_ERROR:
                $this->kit__log_add(array("<b>PHP Error</b> [$errno] $errstr on line $errline in file $errfile"));
                die();
            break;
            case E_WARNING:
                $this->kit__log_add(array("<b>PHP Warning</b> [$errno] $errstr on line $errline in file $errfile"));
            break;
        }
        return true;
    }
    return false;
}

为什么会出现错误?没有发现任何东西,在我的其他脚本中从未见过。有人能帮帮我吗?

此错误通常意味着您在static类方法中使用$this。确保此代码所在的方法不是static。如果是,您可能应该使用以下语法:

YourClassNameGoesHere::kit__log_add(array("<b>PHP Warning</b> [$errno] $errstr on line $errline in file $errfile"));