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 или ниже.
Отключать вывод ошибок, как это рекомендуют на многих ресурсах или подавлять их вывод не нужно! Так как это потенциально приведёт к тому что сайт не будет полноценно работать.
Ну и Капитан Очевидность подсказывает, что “отключить вывод ошибки” и “устранить причину ошибки” – это далеко не одно и то же.