Joomla Linux

Joomla: ошибка 500 после обновления

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Ошибка 500 в Joomla вызвана ошибкой PHP, неверным .htaccess, нехваткой памяти, несовместимым расширением или правами. Включите отображение ошибок, прочитайте журнал, переименуйте .htaccess, отключите расширения и проверьте версию PHP.

В этой статье
  1. Почему 500
  2. Причины
  3. Порядок
  4. После устранения
Joomla 500 error
500 - Internal server error / An error has occurred: 500
По-русскиСайт Joomla отвечает внутренней ошибкой сервера.

#Почему 500

«500 Internal Server Error» — общий ответ: причину знает только журнал. В Joomla это обычно синтаксическая ошибка в .htaccess, неподходящая версия PHP (после обновления хостинга), нехватка памяти или времени исполнения, сбойное расширение или шаблон, неверные права/владелец, повреждённый configuration.php, проблемы с подключением к базе данных. Найти причину можно за несколько минут, если смотреть в нужные файлы.

#Причины

Возможная причинаКак узнатьЧто делать
Ошибка в .htaccessНеподдерживаемая директива.После переименования сайт открывается.Исправьте или верните стандартный файл.
Несовместимая версия PHPСлишком новая или старая.Fatal error в журнале.Подберите версию по требованиям Joomla.
Сбойное расширениеПлагин, модуль.Ошибка указывает на путь plugins.Отключите расширение.
Нехватка памятиmemory_limit.Allowed memory size exhausted.Увеличьте лимит.
Нет подключения к БДНеверные данные или сервер недоступен.Ошибка соединения.Проверьте configuration.php.
Неверные праваФайлы 777 или каталоги 600.Хостинг блокирует.Выставьте 755/644.

#Порядок

  1. Откройте журнал ошибок веб-сервера и PHPЕсли после обновления Joomla появилась ошибка HTTP 500, войдите в панель хостинга и откройте журналы ошибок нужного домена; либо по SSH прочитайте последние строки tail -n 50 /реальный/путь/error.log. Сопоставьте время и URL сбоя, найдите Fatal error, имя файла и расширения. Не переключайте сразу все параметры PHP: у ошибки 500 бывают разные причины.
  2. Временно переименуйте .htaccessВ панели управления файлами найдите корневой .htaccess сайта Joomla и скачайте его копию. Если в журнале Apache явно написано Invalid command, найдите эту строку в .htaccess и сверьте поддержку директивы с Apache и хостером. Временно переименовать весь файл можно только в короткое окно обслуживания, понимая, что изменятся маршрутизация и ограничения доступа; после проверки обязательно верните прежнее имя.
  3. Проверьте совместимость версий PHP, Joomla и расширенийПроверьте, что PHP выбранной для домена версии соответствует установленной версии Joomla и расширений. При необходимости откройте на тестовой копии configuration.php в файловом менеджере и включите подробное журналирование только для поиска ошибки. Не показывайте стек посетителям публичного сайта; после диагностики верните исходные значения debug и error_reporting и удалите временные диагностические файлы.
  4. Проверьте версию PHP на соответствие версии JoomlaЕсли журнал указывает на конкретный системный плагин, сначала отключите его в административном интерфейсе Joomla на тестовой копии. Если вход не работает, опытный администратор может изучить таблицу расширений в phpMyAdmin, предварительно экспортировав базу; префикс таблиц берите из configuration.php, а не используйте буквальный jos_. Не выполняйте UPDATE из примера без точного ID плагина и проверки результата SELECT.
  5. Отключите недавно установленные расширения через базу данныхЕсли сбой начался после обновления темы, откройте в Joomla «Система → Шаблоны сайта»/раздел шаблонов своей версии и выберите штатный рабочий шаблон из числа уже установленных. Через базу менять флаги home можно лишь при восстановлении с резервной копией и с учётом версии Joomla. Не выполняйте массовый UPDATE всех строк таблицы шаблонов: он способен нарушить назначение страниц и языков.
  6. Переключите шаблон на стандартныйВ панели хостинга откройте раздел версии PHP, сравните текущие настройки и список необходимых расширений с требованиями установленной Joomla. При SSH проверьте php -v, но учтите, что консольный PHP может отличаться от веб-обработчика. В журналах PHP ищите Class not found, undefined function, нехватку памяти и несовместимость модуля; исправляйте установленную причину на копии сайта.
  7. Проверьте права: каталоги 755, файлы 644, configuration.php 444 или 644Если обновление оборвалось, проверьте через файловый менеджер свободное место, права владельца на каталоги Joomla и существование файлов обновлённого ядра. Не загружайте случайный архив поверх сайта. Восстановите работоспособность из резервной копии, совместимой с базой, либо используйте официальный пакет восстановления именно установленной версии. После восстановления повторите обновление на тестовом домене.
  8. Проверьте свободное место и подключение к БДПосле устранения ошибки откройте главную страницу, /administrator, несколько внутренних страниц и проверьте создание черновика или загрузку изображения. Просмотрите новые строки журнала — они должны относиться к успешному выполнению без прежнего исключения. Верните обычное журналирование, проверьте разрешения на configuration.php и сохраните информацию о причине для следующего обновления.
  9. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Последние ошибки веб-сервера и логи Joomla
    Linux · Терминал (Bash)Команда
    Последние ошибки веб-сервера и логи Joomla
    tail -n 40 ~/logs/error.log
    tail -n 40 administrator/logs/everything.php
    ls -lt logs | head
    Вариант 2Временно отключить .htaccess
    Linux · Терминал (Bash)Команда
    Временно отключить .htaccess
    mv .htaccess .htaccess.off
    Вариант 3Включить подробные ошибки (только на время отладки)
    PHPКоманда
    Включить подробные ошибки (только на время отладки)
    public $error_reporting = 'maximum';
    public $debug = '1';
    Вариант 4Отключить расширение, вызвавшее сбой (замените имя; для шаблона — через extensions)
    SQLКоманда
    Отключить расширение, вызвавшее сбой (замените имя; для шаблона — через extensions)
    SELECT extension_id, name, type, enabled FROM PREFIX_extensions ORDER BY extension_id DESC LIMIT 10;
    -- PREFIX_ замените фактическим префиксом таблиц из configuration.php.
    -- Не выполняйте изменение enabled без резервной копии БД и подтверждённого ID расширения.
    Вариант 5Вернуть стандартный шаблон сайта (замените jos_ на ваш префикс)
    SQLКоманда
    Вернуть стандартный шаблон сайта (замените jos_ на ваш префикс)
    SELECT id, template, home, client_id FROM PREFIX_template_styles WHERE client_id = 0;
    -- Замените PREFIX_ на префикс своей Joomla; изменение шаблона делайте через панель управления.
    Вариант 6Версия PHP и проверка подключения к БД из CLI
    Linux · Терминал (Bash)Команда
    Версия PHP и проверка подключения к БД из CLI
    php -v
    mysql -u user -p -h localhost -e "SELECT 1" имя_базы

#После устранения

Верните параметры error_reporting в значение default и отключите debug, чтобы посетители не видели технические сообщения. Сделайте резервную копию сайта (Akeeba Backup) и обновите расширения до версий, совместимых с вашей Joomla и PHP.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.