В такой ситуации не стоит сразу повторно запускать обновление, заменять файлы Joomla вручную или восстанавливать старую копию поверх текущего сайта. Сначала нужно определить, на каком этапе произошёл сбой и что именно изменилось.
Сначала зафиксируйте текущее состояние
↑ К оглавлениюДо любых исправлений проверьте отдельно:
- открывается ли главная страница;
- открываются ли внутренние страницы;
- работает ли
/administrator/; - можно ли войти в административную панель;
- какая версия Joomla отображается после обновления;
- есть ли конкретный текст ошибки;
- на каком проценте или этапе остановилось обновление.
Например:
сайт работает
administrator → ошибка
и:
весь сайт → HTTP 500
— это два разных сценария.
Не начинайте менять настройки, пока не зафиксировали исходный симптом.
Не запускайте обновление ещё раз вслепую
↑ К оглавлениюЕсли Joomla сообщила об ошибке или процесс завис, повторное нажатие кнопки обновления не обязательно исправит ситуацию.
Обновление состоит из нескольких операций:
- проверка доступной версии;
- загрузка пакета;
- распаковка;
- запись новых файлов;
- выполнение PHP-кода обновления;
- обновление структуры базы данных;
- завершение установки.
Сбой на разных этапах требует разной диагностики.
Если пакет даже не загрузился, проблема может быть связана с соединением сервера с update-сервисом.
Если новые файлы уже записаны, а ошибка появилась после этого, нужно проверять PHP, расширения и состояние базы.
Посмотрите реальную ошибку PHP
↑ К оглавлениюПосле неудачного обновления внешний экран может показывать только:
500 Internal Server Error
или пустую страницу.
Сам код 500 почти ничего не объясняет.
Нужна запись из:
- PHP error log;
- PHP-FPM log;
- Apache error log;
- Nginx error log;
- журнала хостинга.
Ищите сообщения, появившиеся именно в момент открытия Joomla после обновления.
Например:
Fatal error
Uncaught ...
Class ... not found
Call to undefined method ...
Allowed memory size ... exhausted
Permission denied
Текст Fatal error обычно быстрее приводит к причине, чем попытки менять настройки наугад.
Проверьте совместимость расширений
↑ К оглавлениюОдна из наиболее важных проверок перед крупным обновлением Joomla — совместимость установленных расширений.
Сайт состоит не только из ядра Joomla. На нём могут работать:
- компоненты;
- системные плагины;
- модули;
- шаблоны;
- библиотеки;
- собственный PHP-код.
Само ядро может обновиться успешно, а при следующем запросе Joomla загрузит несовместимый плагин и сайт упадёт.
Особенно подозрителен сценарий:
до обновления всё работало
↓
Joomla обновилась
↓
сразу появилась ошибка
Если stack trace указывает на каталог вроде:
/plugins/...
/components/...
/modules/...
/templates/...
сначала проверяйте соответствующее расширение.
Не отключайте одновременно все плагины: так можно восстановить сайт, но потерять доказательство того, какой именно компонент вызвал сбой.
Проверьте версию PHP
↑ К оглавлениюПосле обновления могла измениться не только Joomla.
Иногда хостинг одновременно переключает PHP или администратор меняет его вручную.
Проверять нужно связку:
версия Joomla
+
версия PHP
+
версии расширений
а не только ядро Joomla.
Например, новая Joomla может поддерживать текущий PHP, а старый сторонний компонент — уже нет.
Также возможна противоположная ситуация: новая версия Joomla требует более современного PHP, чем используется на сервере.
Поэтому после ошибки обновления обязательно зафиксируйте:
- текущую версию Joomla;
- текущую версию PHP;
- версию PHP до обновления, если она известна.
Проверьте PHP-модули и лимиты
↑ К оглавлениюДаже правильного номера версии PHP недостаточно.
После переноса сайта, переключения PHP или изменения конфигурации могут отсутствовать необходимые модули.
Также обновление может оборваться из-за ограничений:
memory_limit
max_execution_time
upload_max_filesize
post_max_size
Но увеличивать все лимиты подряд не нужно.
Если журнал показывает нехватку памяти — проверяйте память.
Если timeout — разбирайтесь со временем выполнения.
Если пакет не загружается — проверяйте сеть и доступ сервера к update-сервису.
Если обновление зависает на загрузке
↑ К оглавлениюJoomla должна получить update package с сервера обновлений.
Если процесс зависает ещё до установки, проверьте:
- может ли сервер выполнять исходящие HTTPS-запросы;
- работает ли DNS на сервере;
- нет ли firewall-ограничений;
- не блокирует ли хостинг внешние соединения;
- актуальны ли TLS/SSL-библиотеки;
- не повреждена ли информация об update sites.
В этом случае бессмысленно начинать с базы данных или шаблона: новые файлы могли вообще ещё не быть установлены.
Проверьте возможность записи файлов
↑ К оглавлениюВо время обновления Joomla должна заменять файлы приложения.
Если пользователь, от которого работает PHP, не может писать в нужные каталоги, обновление может завершиться частично.
Особенно это встречается после:
- переноса сайта;
- восстановления backup от другого пользователя;
- загрузки файлов через root;
- изменения владельца файлов;
- ручной смены permissions.
Если в журнале есть:
Permission denied
проверяйте вместе:
owner
group
permissions
PHP user
Не используйте рекурсивный:
chmod 777
как универсальное исправление.
Проверьте свободное место
↑ К оглавлениюОбновлению нужно место не только под окончательные файлы.
Требуется пространство для:
- загрузки архива;
- временных файлов;
- распаковки;
- новых файлов;
- журналов.
Если диск или quota заполнены, процесс может оборваться посередине.
Проверьте:
- свободное место;
- inode, если это Linux-сервер;
- ограничения тарифа хостинга;
- временный каталог PHP.
Если после обновления не открывается админка
↑ К оглавлениюВозможен сценарий:
frontend → работает
administrator → ошибка
Это важный диагностический признак.
Проверяйте:
- PHP error log именно для
/administrator/; - административные модули;
- системные плагины;
- расширения, которые запускаются только в backend;
- совместимость шаблона административной части;
- завершилась ли миграция базы.
Не нужно восстанавливать весь сайт только потому, что не открывается административная панель.
Если после обновления перестал открываться весь сайт
↑ К оглавлениюЕсли одновременно недоступны и frontend, и administrator, сначала получите серверную ошибку.
Порядок:
HTTP response
↓
web-server log
↓
PHP error
↓
файл / класс / расширение
↓
причина
Если ошибка указывает на сторонний плагин — исследуйте его.
Если на отсутствующий core-файл — проверяйте целостность обновления.
Если на подключение к базе — переходите к базе.
Не делайте вывод «сломалось ядро Joomla» только по HTTP 500.
Проверьте базу данных после обновления
↑ К оглавлениюНекоторые обновления меняют структуру базы.
Если файловая часть обновилась, а изменение базы не завершилось, могут появляться:
- ошибки SQL;
- отсутствующие поля;
- отсутствующие таблицы;
- ошибки компонентов;
- проблемы в административной панели.
Если Joomla позволяет войти в админку, проверьте состояние базы через штатные средства обслуживания.
При SQL-ошибке сначала сохраните её полный текст.
Не импортируйте старую базу поверх новой только потому, что увидели слово database.
Не смешивайте файлы разных версий вручную
↑ К оглавлениюПосле неудачного обновления возникает соблазн:
докину недостающие файлы из архива.
Это опасно, если неизвестно, какие именно этапы обновления уже прошли.
Можно получить смесь:
часть старой Joomla
+
часть новой Joomla
+
изменённая база
После этого диагностировать исходную проблему становится намного сложнее.
Если требуется восстановление файлов ядра, делать его нужно контролируемым способом и для точно определённой версии.
Если проблема появилась при переходе между крупными версиями
↑ К оглавлениюПереход между основными ветками требует особенно внимательно относиться к расширениям.
Перед таким обновлением нужно проверить:
- поддержку новой Joomla каждым важным компонентом;
- плагины;
- шаблон;
- собственные overrides;
- PHP;
- базу данных;
- системные требования.
Предупреждение о несовместимом расширении перед обновлением — не декоративное сообщение.
Если его проигнорировать, ядро может обновиться, а расширение перестанет выполняться уже на новой версии.
Проверьте шаблон и overrides
↑ К оглавлениюШаблон Joomla может содержать собственный PHP-код и overrides стандартных представлений.
После крупного обновления старый override иногда перестаёт соответствовать новой структуре приложения.
Если ошибка показывает путь:
/templates/имя_шаблона/...
проверьте:
- конкретный файл;
- дату его изменения;
- совместимость версии шаблона;
- есть ли обновление шаблона;
- собственный это override или файл поставщика.
Не удаляйте весь шаблон без резервной копии.
Если обновление не находится
↑ К оглавлениюОтдельный сценарий:
Joomla работает, но не видит доступную новую версию.
Тогда проблема отличается от «сайт упал после обновления».
Проверяются:
- update channel;
- список update sites;
- доступ сервера к Joomla update infrastructure;
- кеш информации об обновлениях;
- установленная текущая версия.
Не нужно вручную ставить случайный пакет только потому, что автоматическая проверка не показала обновление.
Если обновление остановилось на 100%
↑ К оглавлениюСам по себе индикатор прогресса ещё не подтверждает, что все последующие операции завершились.
После этого Joomla может:
- выполнить финальный PHP-код;
- применить изменения базы;
- загрузить административную страницу;
- обнаружить несовместимое расширение.
Поэтому если после «100%» появилась ошибка, ищите запись в журнале именно после момента завершения копирования файлов.
Это позволяет отделить ошибку установки от ошибки первого запуска новой версии.
Когда полезно восстановить backup
↑ К оглавлениюBackup нужен не только для катастрофы.
Это контрольная точка.
Если обновление оставило сайт в неопределённом состоянии и причина требует длительного исследования, можно:
- сохранить текущее неисправное состояние для диагностики;
- сохранить журналы ошибок;
- восстановить проверенную резервную копию;
- воспроизвести обновление на staging;
- найти несовместимость;
- исправить её;
- повторить обновление контролируемо.
Так безопаснее, чем экспериментировать на единственной production-копии.
Не забывайте про staging
↑ К оглавлениюЕсли сайт приносит заявки или продажи, крупное обновление лучше сначала воспроизводить на копии.
На staging можно проверить:
- PHP;
- расширения;
- шаблон;
- обновление базы;
- административную панель;
- формы;
- оплату;
- интеграции.
И только после успешной проверки обновлять production.
Короткий порядок диагностики ошибки обновления Joomla
↑ К оглавлениюЕсли Joomla выдала ошибку при обновлении или перестала работать после него:
- не запускать обновление повторно вслепую;
- зафиксировать текущую версию и симптом;
- проверить frontend и administrator отдельно;
- сохранить PHP/web-server error log;
- определить этап, на котором прервалось обновление;
- проверить свободное место;
- проверить возможность записи файлов;
- проверить PHP и его модули;
- проверить совместимость расширений;
- проверить шаблон и overrides;
- проверить состояние базы;
- исправить локализованную причину;
- проверить сайт целиком;
- только после этого считать обновление завершённым.
Чего не стоит делать
↑ К оглавлениюПосле ошибки обновления Joomla не стоит сразу:
- повторять Update несколько раз;
- менять PHP наугад;
- ставить
777на весь сайт; - отключать все плагины одновременно;
- загружать поверх сайта случайный архив Joomla;
- смешивать файлы разных версий;
- импортировать старую базу поверх текущей;
- удалять журналы ошибок;
- проводить эксперименты без backup.
Главная задача — определить, что успело обновиться и на каком шаге произошёл сбой.
Частые вопросы
Почему Joomla выдаёт ошибку при обновлении?
Причина может быть в серверных ограничениях, невозможности загрузить или записать update package, несовместимом расширении, неподходящем PHP или ошибке на одном из этапов обновления.
Что делать, если после обновления Joomla сайт перестал открываться?
Сначала проверьте отдельно frontend и /administrator/, затем PHP/web-server error log. Не запускайте обновление повторно, пока не ясно, что произошло при первой попытке.
Почему после обновления работает сайт, но не работает админка?
Это часто сужает проблему до backend-кода: административного расширения, системного плагина, PHP-ошибки либо незавершённых изменений базы. Проверяйте ошибку именно при запросе /administrator/.
Можно ли просто восстановить резервную копию?
Можно, если нужно быстро вернуть рабочий сайт, но сначала желательно сохранить журналы и текущее состояние. Иначе причина останется неизвестной и при следующем обновлении проблема повторится.
Нужно ли обновлять Joomla вручную, если автоматическое обновление выдаёт ошибку?
Не как первый шаг. Сначала определите, на каком этапе ломается штатное обновление и почему. Ручная замена файлов без понимания состояния системы может оставить Joomla со смешанными версиями файлов.
Нужна помощь с Joomla?
Разберу ошибку обновления Joomla, найду причину в логах, проверю совместимость окружения и расширений, а затем проверю сайт после исправления.