Ошибка «Strict Standards: Non-static method should not be called statically in» при переносе сайта | Раздел «Сайтострой»

21-го августа этого года разработчики сообщили о завершении цикла разработки php 5.3 и объявили версию 5.4 стабильной. Для разработчиков программного обеспечения и продвинутых пользователей это означает то что с этого момента все адекватные хостеры начнут использовать эту версию по-умолчанию.

Но этот переход имеет и “тёмную” сторону – всем владельцам сайтов использующих морально устаревшие версии CMS, не умеющие работать на новой версии php при, например, смене хостера или переносе сайта придётся встретить ошибки вида “Strict Standards: Non-static method ***** should not be called statically in *****” (пример для джумлы 1.5):

Strict Standards: Non-static method JLoader::load() should not be called statically in /home/accountname/domain.com/www/libraries/loader.php on line 161 Strict Standards: Non-static method JLoader::register() should not be called statically in /home/accountname/domain.com/www/libraries/loader.php on line 138 Strict Standards: Non-static method JRequest::getBool() should not be called statically, assuming $this from incompatible context in /home/accountname/domain.com/www/libraries/joomla/application/module/helper.php on line 97 Strict Standards: Non-static method JRequest::getVar() should not be called statically, assuming $this from incompatible context in /home/accountname/domain.com/www/libraries/joomla/environment/request.php on line 217 Strict Standards: Non-static method JRequest::_cleanVar() should not be called statically, assuming $this from incompatible context in /home/accountname/domain.com/www/libraries/joomla/environment/request.php on line 151 Strict Standards: Non-static method JFilterInput::getInstance() should not be called statically, assuming $this from incompatible context in /home/accountname/domain.com/www/libraries/joomla/environment/request.php on line 577

Strict Standards: Non-static method JLoader::load() should not be called statically in /home/accountname/domain.com/www/libraries/loader.php on line 161 Strict Standards: Non-static method JLoader::register() should not be called statically in /home/accountname/domain.com/www/libraries/loader.php on line 138 Strict Standards: Non-static method JRequest::getBool() should not be called statically, assuming $this from incompatible context in /home/accountname/domain.com/www/libraries/joomla/application/module/helper.php on line 97 Strict Standards: Non-static method JRequest::getVar() should not be called statically, assuming $this from incompatible context in /home/accountname/domain.com/www/libraries/joomla/environment/request.php on line 217 Strict Standards: Non-static method JRequest::_cleanVar() should not be called statically, assuming $this from incompatible context in /home/accountname/domain.com/www/libraries/joomla/environment/request.php on line 151 Strict Standards: Non-static method JFilterInput::getInstance() should not be called statically, assuming $this from incompatible context in /home/accountname/domain.com/www/libraries/joomla/environment/request.php on line 577

Чтобы избежать их – просто установите для сайта php версии 5.3 или ниже.

Отключать вывод ошибок, как это рекомендуют на многих ресурсах или подавлять их вывод не нужно! Так как это потенциально приведёт к тому что сайт не будет полноценно работать.

Ну и Капитан Очевидность подсказывает, что “отключить вывод ошибки” и “устранить причину ошибки” – это далеко не одно и то же.

Понравилась статья? Поделиться с друзьями:
Электронный Мастер