Неустранимая ошибка PHP: использование $ this, когда он не находится в контексте объекта для скрипта - PullRequest
0 голосов
/ 29 сентября 2011

У меня проблема:

У меня есть скрипт, с которым я работаю и только что обновил до PHP 5.3.

В моем файле kit_parser.php я получаю следующее фатальноеошибка:

Неустранимая ошибка: использование $ this, когда не в контексте объекта, в /home/sitename/public_html/secure/includes/hooks/kits/kit_parser.php в строке 71

Этофрагмент кода, на который он ссылается:

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;
}

Почему появляется ошибка?Ничего не найдено, никогда раньше не встречалось в других моих сценариях.Может кто-нибудь помочь мне, пожалуйста?

1 Ответ

1 голос
/ 29 сентября 2011

Эта ошибка обычно означает, что вы используете $this в методе класса static.Убедитесь, что метод, в котором используется этот код, не является static.Если это так, вы, вероятно, должны использовать этот синтаксис вместо:

YourClassNameGoesHere::kit__log_add(array("<b>PHP Warning</b> [$errno] $errstr on line $errline in file $errfile"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...