Логотип StingRay

Социальные сети
FacebookInstagramRSSXYouTubeВ контактеОдноклассники
FacebookInstagramRSSXYouTubeВ контактеОдноклассники
Силуэт человека

Несколько фокусов с CMS Joomla


Обновление сайтов на Joomla 5.4.1 до 6.0.1

«Никогда такого не было, и вот опять…» – это, к сожалению, не просто оксюморон, это про Joomla… 🙁 Ранее я писа́л про проблемы обновления главных (major) версий этого движка:

и каждый раз сообщество обещало мне, что радикальных переделок архитектуры больше не будет, обратная совместимость будет лучше… Но увы, при обновлении до 6-й версии Joomla я снова столкнулся с нешуточными проблемами, несмотря на наличие подключаемого модуля обратной совместимости… 🙁

Напомню, решение отказаться от Joomla в пользу WordPress было принято ещё после предыдущего большого обновления, но так как заказчики с сайтами на Joomla у меня ещё остались, то пришлось снова заняться неприятным большим обновлением.

А чтобы это было не так неприятно хотя бы для вас, я решил зафиксировать и опубликовать свой опыт обновления 10 сайтов до Joomla 6.0.1.

Сообщение об ошибке Старый код Новый код
Class ContentHelperRoute not found. …Route::_(ContentHelperRoute::get…(…)) Joomla\Component\Content\Site\Helper\RouteHelper::get…(…)
Class JFactory not found. JFactory Joomla\CMS\Factory
Class JFilterOutput not found. JFilterOutput Joomla\CMS\Filter\OutputFilter
Class JHtml not found. JHtml Joomla\CMS\HTML\HTMLHelper
Class JModuleHelper not found. JModuleHelper Joomla\CMS\Helper\ModuleHelper
Class JRoute not found. JRoute Joomla\CMS\Router\Route
Class JText not found. JText Joomla\CMS\Language\Text
Class JURI not found. JURI Joomla\CMS\Uri\Uri

Проблема Решение
Class FieldsPlugin not found. Удалить папку /plugins/fields/repeatable согласно совету на GitHub'е.
Под PHP 8.3.11 не включается автоматическое обновление движка Joomla (error while registering to automated update service) на /administrator/index.php?option=com_config&view=component&component=com_joomlaupdate: GET https://*.ru/api/index.php/v1/joomlaupdate/healthcheck порождает серверную ошибку № 500 (Internal Server Error), а прямой вызов этого же адреса выдаёт другую ошибку: {"errors": [{"title": "Resource not found", "code": 404}]} Включить журналирование ошибок Joomla и через него выяснить причину серверной ошибки, то есть то, какой (старый) код/расширение порождает его (в моём случае это было ChronoEngineGCore2), отключить его, включить автоматическое обновление Joomla и при необходимости включить отключённое (хотя лучше избавиться от него) – всё согласно моему расследованию на GitHub'е.
Под PHP 8.3.27 не включается автоматическое обновление движка Joomla (error while registering to automated update service) на /administrator/index.php?option=com_config&view=component&component=com_joomlaupdate: GET https://*.ru/api/index.php/v1/joomlaupdate/healthcheck порождает клиентскую ошибку № 403 “Forbidden”, а прямой вызов этого же адреса выдаёт ту же самую ошибку. Проверить журналы ошибок и доступ веб-сервера и попытаться в них выяснить причину клиентской ошибки доступа, а если ничего не выяснится (как это было в моём случае), то пообщаться со службой поддержки хостинга, которая может помочь (как это было в моём случае – ошибки в связи с изменением схемы проксирования, когда не были учтены случаи PATH_INFO-запросов, то есть когда к PHP-сценарию идёт обращение /index.php/aaa/bbb/ccc) – всё согласно моему расследованию на GitHub'е.

Если у вас что-то не получается и нужна моя профессиональная помощь – напишите мне по электронной почте или комментарий ниже.

Добавьте свой комментарий или войдите, чтобы подписаться/отписаться.
OpenId
Предпросмотр
Улыбка Подмигивание Дразнит Оскал Смех Огорчение Сильное огорчение Шок Сумасшествие Равнодушие Молчание Крутизна Злость Бешенство Смущение Сожаление Влюблённость Ангел Демон Задумчивость Рука-лицо Не могу смотреть Жирный Курсив Подчёркивание Зачёркивание Размер шрифта Гиперссылка Цитата
Загрузка…