Исправляем ошибку «joomla Call to a member function format() on null»

Некоторые их наших пользователей столкнулись с ошибкой «joomla Call to a member function format() on null». При этом, ни на хостинге, ни на проблемном сайте не вносилось никаких изменений. Мы решили разобраться откуда она берётся и поделиться способами решения проблемы.

Самым нетерпеливым можно сразу перейти к разделу как исправить ошибку. Если же Вам интересно разобраться в причинах, читаем всю статью полностью ).

Корень ошибки кроется в файле phpversioncheck.php, который расположен в папке /plugins/quickicon/phpversioncheck и отвечает за проверку актуальности версии php на хостинге. Там содержится таблица с версиями php и датами окончания их поддержки разработчиком. Задача — определить свежая ли версия php используется сайтом. Если срок её поддержки истёк, вернуть рекомендуемую версию для вывода этой информации владельцу сайта.

Если CMS долгое время не обновлялась, то в ней можно найти примерно такую таблицу с версиями:

Причина ошибки joomla Call to a member function format() on null

Если обратить внимание на выделенную область, можно заметить, что срок использования даже самой последней версии php на момент написания этой статьи истёк.

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

Если посмотреть в содержимое этого же файла в последнем дистрибутиве joomla, массив версий php там более полный:

 


Как исправить ошибку «joomla Call to a member function format() on null»

Правильный путь — обновите версию joomla до последней версии. Сделать это можно через раздел «Компоненты -> Обновление Joomla»:

Обновление joomla

Есть и два других (не совсем правильные):

  1. Можно скопировать часть кода с недостающими версиями php из свежей версии Joomla. Эта часть как раз выделена рамкой на втором рисунке.
  2. Выставить права 200 на папку /plugins/quickicon . После этого на главной странице админ-панели вообще пропадут всякие уведомления о доступных обновлениях. Сама возможность обновления при этом сохранится.

Два последних способа конечно не рекомендуется использовать, но они могут оказаться полезными, если разработчики сайта внесли изменения в ядро CMS и её обновление из-за этого не допустимо.


С уважением,
служба поддержки WebGuard.pro


Вы должны быть авторизованы, чтобы оставить комментарий.

Нам доверили свои сайты

Image
Image
Image
Image
Image
Image
Навигация

8 (800) 77-55-7718 (800) 77-55-771

8 (800) 77-55-771