Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Один из сайтов на Joomla 1.5, которые я делал на заказ, стал ни с того ни с сего выдавать целую простыню ошибок вида Strict Standards: Non-static method JLoader::import () should not be called statically in. Что примечательно, прокрутив несколько экранов можно было и сам сайт обнаружить, но кто из посетителей захочет это делать.
Как я понял, связано это было с тем, что хостер обновил версию PHP до 5.3. Как устранить причину возникновения этих ошибок я не стал разбираться (надо было функции, которые вызываются, объявить статическими). В интернете нашел совет внести правку в файл php.ini на сервере, чтобы отключить вывод информации об ошибках на экран, ибо они на работу самого сайта никакого влияния не оказывают.
Мне предлагали изменить два параметра в файле конфигурации php.ini, а именно «error_reporting» и «display_errors» в разделе «Error handling and logging». Т.е. изначально было:
error_reporting = E_ALL | E_STRICT
display_errors = On
|
А после правки должно стать:
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
|
После этого перезагружаем веб-сервер и наслаждаемся отличной работой Joomla. Однако проблемный сайт живет на виртуальном хостинге, где понятно каким образом можно добраться до php.ini.
Универсальное решение для любого сайта
В .htaccess надо будет добавить всего лишь две новых строчки (можно в самом низу):
php_value error_reporting 30711
php_flag display_errors off
|
Все, после этого сообщения «Strict Standards: Non-static method JLoader::import () should not be called statically in» перестали беспокоить посетителей данного сайта на Joomla 1.5. Буду рад, если эта информация вам пригодится.