Xampp localhost Ошибка строгих стандартов - PullRequest
0 голосов
/ 21 декабря 2011

Даже я изменил файл php.ini. Я изменил php.ini по умолчанию:

; display_startup_errors
;   Default Value: Off
;   Development Value: On
;   Production Value: Off

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE
;   Development Value: E_ALL | E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED

Я изменяю их на:

 display_startup_errors
   Default Value: Off
   Development Value: On
   Production Value: Off

 error_reporting
   Default Value: E_ALL & ~E_NOTICE
   Development Value: E_ALL | E_STRICT
   Production Value: E_ALL & ~E_DEPRECATED

Я все еще получаю следующие ошибки:

Strict Standards: Declaration of CUser::Save() should be compatible with that of CBase::Save() in D:\xampp\htdocs\web\newpacific\include\user.class.php on line 128
Strict Standards: Declaration of CUser::Add() should be compatible with that of CBase::Add() in D:\xampp\htdocs\web\newpacific\include\user.class.php on line 128
Strict Standards: Declaration of CUser::Edit() should be compatible with that of CBase::Edit() in D:\xampp\htdocs\web\newpacific\include\user.class.php on line 128
Strict Standards: Declaration of CNewsLetter::Save() should be compatible with that of CBase::Save() in D:\xampp\htdocs\web\newpacific\include\newsletter.class.php on line 89
Strict Standards: Declaration of CNewsLetter::Add() should be compatible with that of CBase::Add() in D:\xampp\htdocs\web\newpacific\include\newsletter.class.php on line 89
Strict Standards: Declaration of CNewsLetter::Edit() should be compatible with that of CBase::Edit() in D:\xampp\htdocs\web\newpacific\include\newsletter.class.php on line 89
Strict Standards: Declaration of CLanguage::UpdateSEO() should be compatible with that of CBase::UpdateSEO() in D:\xampp\htdocs\web\newpacific\include\language.class.php on line 186
Strict Standards: Declaration of CNav::Save() should be compatible with that of CBase::Save() in D:\xampp\htdocs\web\newpacific\include\nav.class.php on line 178
Strict Standards: Declaration of CNav::Edit() should be compatible with that of CBase::Edit() in D:\xampp\htdocs\web\newpacific\include\nav.class.php on line 178
Strict Standards: Declaration of CDatabase::GetAll() should be compatible with that of CBase::GetAll() in D:\xampp\htdocs\web\newpacific\include\database.class.php on line 119
Strict Standards: Declaration of CNews::GetMaxOrder() should be compatible with that of CBase::GetMaxOrder() in D:\xampp\htdocs\web\newpacific\include\news.class.php on line 160
Strict Standards: Declaration of CNews::UpdateOrder() should be compatible with that of CBase::UpdateOrder() in D:\xampp\htdocs\web\newpacific\include\news.class.php on line 160
Strict Standards: Declaration of CNavigation::GetMaxOrder() should be compatible with that of CBase::GetMaxOrder() in D:\xampp\htdocs\web\newpacific\include\navigation.class.php on line 75
Strict Standards: Declaration of CNavigation::UpdateOrder() should be compatible with that of CBase::UpdateOrder() in D:\xampp\htdocs\web\newpacific\include\navigation.class.php on line 75
Strict Standards: Declaration of CArticle::GetMaxOrder() should be compatible with that of CBase::GetMaxOrder() in D:\xampp\htdocs\web\newpacific\include\article.class.php on line 117

Спасибо заранее. Я искал на форуме. не понял, почему он все еще получает строгие стандартные ошибки

Ответы [ 2 ]

1 голос
/ 24 декабря 2011

Протестировал его на xampp (не было, поэтому просто хотел посмотреть), и установка "error_reporting = E_ALL & ~E_DEPRECATED" в php.ini избавляет от этого строгого предупреждения.Не забудьте перезапустить сервер (и прокомментировать строки, которые вы не комментировали), чтобы он вступил в силу.

Кроме того, вы также можете убедиться, что функции также соответствуют стандартам.Что-то, что я нашел в Интернете:

class ParentClass
 {
        protected static function foo($param1, $param2)
         {
                echo "Parent\n";
         }
 }

class ChildClass extends ParentClass
 {
        public static function foo($param1)
         {
                parent::foo($param1, 2);
                echo "Child\n";
         }
 }

ChildClass::foo(1);

Это вызывает стандарт, потому что foo не соответствует другому foo, но вы можете просто указать:

        public static function foo($param1, $param2=2)
         {
                parent::foo($param1, 2);
                echo "Child\n";
         }

и использовать $ param2 илиигнорировать его, чтобы избавиться от предупреждения, но если бы я его принял, я бы использовал его ...

0 голосов
/ 28 декабря 2011

@ craniumonempty Я переименовал php.ini в другое имя, затем переименовал файл php.ini-development в php.ini. Теперь ошибок больше нет.Надеюсь, что это может помочь кому-то

Или изменить error_reporting на error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

...