Код ошибки 500: что означает и как исправить

Ошибка 500 — это стандартный HTTP-код ответа, сигнализирующий о критической проблеме на сервере. Рассказываем, какие основные причины приводят к ее появлению, что можно сделать обычному пользователю и владельцу сайта.
Автор Hi-Tech Mail
Что означает ошибка
Причины возникновения ошибки
Что делать пользователю
Как исправить ошибку владельцу сайта
Если не удается исправить ошибку
Что бесполезно делать
Что означает ошибка
Причины возникновения ошибки
Что делать пользователю
Как исправить ошибку владельцу сайта
Если не удается исправить ошибку
Что бесполезно делать
Еще
Картинка, на которой изображен ноутбук, на котором нарисована ошибка 500
Что означает ошибка 500?

Ошибка 500 — это серверная ошибка, которая не позволяет открыть страницу и указывает на неполадки на стороне хостинга или программного обеспечения сайта. В этой статье вы узнаете, что означает ошибка 500, почему она возникает и как с ней бороться.

Что означает ошибка 500

500 Internal Server Error — это один из стандартных кодов состояния HTTP в ответ на запрос из браузера. Ошибка 500 означает, что сервер в какой-то момент не смог обработать запрос из-за непредвиденной проблемы. В целом же данный код является обобщенным понятием и может появиться на сайте вследствие целого ряда проблем с сервером.

Причины, почему может появиться ошибка 500 на сайте

Чаще всего ошибка выполнения запроса 500 возникает из-за внутренних проблем на сервере или из-за ошибок в коде самого сайта. Также она может возникать из-за неправильных настроек web-хостинга или проблем с правами доступа к базе данных сайта. Вот список наиболее частых причин, с которыми сталкиваются владельцы сайтов:

  1. Ошибки глобальных конфигурационных файлов
  2. Ошибки в файле «.htaccess»
  3. Отсутствие прав доступа к папкам и файлам на сайте
  4. Неправильный логин или пароль к базе данных
  5. Большая нагрузка на сайт
  6. Ошибки в PHP-скриптах или неподходящая версия PHP
  7. Несовместимые плагины

Рассмотрим причины и способы их устранения более подробно

Скриншот ошибки 500
Ошибка 500 чаще всего возникает из-за проблем на сервереИсточник: TheHitBits

Что делать пользователю, если выдает код ошибки 500

Если при переходе на сайт в качестве посетителя вы столкнулись с ошибкой «код состояния 500», вариантов исправить проблему у вас немного. Любые ошибки, которые начинаются с пятерки, как правило, происходят из-за внутренних неполадок на самом сервере и могут быть исправлены только администраторами и владельцами ресурса.

1. Перезагрузить сайт

Бывает, что на сайте появляется ошибка 500 Internal Server Error, но уже через несколько минут она исчезает сама собой. Поэтому один из немногих вариантов при возникновении данной проблемы — это попробовать обновить страницу сайта.

2. Подождать и очистить кэш браузера

Попробуйте немного подождать и зайти на сайт повторно. Возможно, администратор уже в курсе проблемы и делает все возможное, чтобы ее исправить. В редких случаях страница с ошибкой запроса 500 может кэшироваться, поэтому перед повторным заходом на сайт, на всякий случай также рекомендуем очистить кэш браузера.

3. Сообщить владельцу сайта

Чтобы ускорить восстановление ресурса, можно попробовать связаться с владельцем и сообщить ему о возникновении ошибки «код 500» на его сайте. Если вы не знаете, куда обращаться, можно перейти в веб-архив и загрузить копию страницы сайта, чтобы посмотреть эти данные там (обычно контакты находятся в футере сайта на главной странице). Сервис web.archive.org уже более четверти века собирает копии веб-страниц со всего мира и хранит их в своем архиве. Например, там можно посмотреть, как выглядели популярные сайты много лет назад.

Как исправить ошибку 500 владельцу сайта

Когда возникает ошибка запроса 500, поисковый робот сначала фиксирует данную проблему, а затем в течение суток посещает сайт снова. Если при повторном переходе проблема остается, робот может исключить сайт из индекса. Проверить актуальность вашей страницы в индексе можно в Google Search Console.

Если на вашем сайте появилась ошибка «код 500», важно исправить ее как можно скорее, так как из-за нее страница сайта может в ближайшее время исчезнуть из результатов поиска. Ниже расскажем, что предпринять владельцу сайта при появлении ошибки 500.

1. Проверить глобальные конфигурационные файлы

Проблема с конфигурационными файлами может возникать только в том случае, если вы настраивали их самостоятельно. В этом случае ошибку 500 может вызвать даже малейшая опечатка.

Если у вас виртуальный хостинг, проблема с конфигурационными файлами не должна вас волновать. Здесь за них должен отвечать хостинг-провайдер, поэтому вероятность внутренней ошибки 500 крайне мала. Беспокоиться стоит, если вы используете локальный сервер и настраивали эти файлы самостоятельно. В этом случае придется проверять синтаксис конфигурационных файлов вручную. Покажем, где они находятся на примере популярных веб-серверов Apache и Nginx:

Конфигурационные файлы Apache

1. Основной:

/etc/httpd/conf/httpd.conf

/etc/apache2/conf/apache.conf

2. Дополнительные:

/etc/httpd/conf.d/httpd.conf

/etc/apache2/conf.d/apache.conf

/etc/apache2/sites-available/apache.conf

/etc/apache2/sites-enabled/apache.conf

Конфигурационные файлы Nginx

1. Основной:

/etc/nginx/nginx.conf

2. Дополнительные:

/etc/nginx/conf.d/nginx.conf

/etc/nginx/sites-available/nginx.conf

/etc/nginx/sites-enabled/nginx.conf

Если вы управляете сервером при помощи панели управления, конфигурационные файлы также могут храниться в папке /user.

2. Проверить вспомогательный конфигурационный файл «.htaccess»

Проблема с файлом «.htaccess» может возникать даже в том случае, если вы никогда его не редактировали. Особенно это актуально для сайтов, созданных на движке Wordpress. Бывает, что при установке некоторых плагинов они сами добавляют директивы в файл. Некоторые из них в дальнейшем могут начать конфликтовать, что в результате приводит к ошибке code 500.

Чтобы проверить, вызывает ли файл «.htaccess» ошибку 500, достаточно переименовать его через панель управления на хостинге, а затем перейти на сайт повторно. Найти файл «.htaccess» для основного сайта, как правило, можно в корневой папке «public_html».

Как найти и переименовать файл «.htaccess» в панели управления
Как найти и переименовать файл «.htaccess» в панели управленияИсточник: DomainRacer

Если причина была в файле «.htaccess», проблема должна исчезнуть, а вам останется лишь отыскать конфликтующие директивы. Для этого создайте в корневой папке новый файл «.htaccess», затем откройте оба файла в разных вкладках и начните переносить директивы из старого файла по одной, пока не найдете ту, из-за которой произошла ошибка «код 500».

3. Проверить права доступа к папкам и файлам

Еще одна причина ошибки 500 — неправильно установленный владелец папок и файлов, а также отсутствие прав доступа к ним.

Если у пользователя, от имени которого веб-сервер выполняет процессы, не будет хватать прав для редактирования или запуска какого-то файла, обработать запрос будет невозможно и появится внутренняя ошибка сервера 500.

В первую очередь это также касается VPS или локальных серверов. Для клиентов виртуальных хостингов данная проблема не актуальна.

Изменить владельца папки или файлов можно через подключение к серверу с помощью командной строки по SSH:

На изображении показана строка команды в терминале на черном фоне с белым текстом: "chown пользователь:группа/путь/к/файлу".
Источник: Hi-Tech Mail

Изменить права:

На изображении показана команда для изменения прав доступа к папке в операционных системах на базе Unix. Текст на черном фоне: "chmod [права] /путь/к/папке".
Источник: Hi-Tech Mail

Проверить и изменить права доступа можно также и в файловом менеджере. Стандартные значения для каталогов — 755, а для файлов — 644.

На изображении показан интерфейс файлового менеджера хостинга Sprinthost. Слева находится вертикальное меню с разделами, выбран раздел "Файловый менеджер", который выделен красным. В центральной и правой части экрана отображаются списки файлов и папок с разрешениями, размерами и датами изменения, некоторые права доступа (например, 755 и 644) выделены красной рамкой.
Проверяем значения прав для папок и каталогов в файловом менеджереИсточник: YouTube-канал Юлия Литвина

4. Проверить базу данных

Ошибка 500 может возникать, когда сервер не может подключиться к базе данных. Это может произойти из-за неправильно введенного логина или пароля. Например, вы поменяли данные, но забыли обновить их в конфигурационном файле «.config». В этом случае код ошибки будет выглядеть так: «Error establishing a database connection», но в логах все равно отобразится api ошибка 500.

Найти конфигурационный файл можно также в корневой папке сайта. Ваша задача открыть его в редакторе и проверить пароль администратора базы в строке «DB password».

5. Проверить использование ресурсов на сервере

Еще одна популярная ошибка из-за проблем с базой данных может возникать, когда MySQL сервер окажется перегружен из-за большого количества одновременно действующих процессов. Когда таких процессов становится слишком много, некоторые из них могут остаться невыполненными, а на сайте также возникает internal server error.

Отследить загруженность сервера процессами можно через панель управления в разделе «Статистика». Если вы увидите, что количество выделенных процессов заполнено на 100%, то вам может потребоваться более мощный хостинг. Для этого обратитесь к своему провайдеру и попросите помочь.

6. Проверить значения PHP-скриптов

Не лишним будет проверить основные параметры PHP-скриптов. Стартовых значений некоторых параметров может не хватать для выполнения сервером важных скриптов, из-за чего он также может отправить в систему код ошибки 500.

На изображении показан интерфейс панели управления хостингом FastComet, раздел «Программное обеспечение». В центре экрана находятся различные иконки и названия доступных инструментов, например, выбор версии PHP, установка Python или Node.js, WordPress темы и другие. Красная рамка выделяет опцию «Select PHP Version», указывая, что на нее наведен курсор мыши.
Как изменить параметры PHP-скриптовИсточник: Teczpert Online

Увеличить значения параметров можно также в панели управления хостингом. Для этого перейдите в раздел «Программное обеспечение» (Software) и откройте пункт «Выбор версии PHP»(Select PHP Version). Затем перейдите на вкладку «Настройки», найдите параметры «max_execution_time» (время в секундах) и «memory_limit» (количество памяти PHP для выполнения скрипта) и увеличьте их значения.

На изображении показан интерфейс панели управления FastComet, раздел "PHP Selector | options", где можно настроить параметры PHP. В центре экрана указаны различные параметры, такие как max_execution_time (200 секунд) и memory_limit (256M), которые выделены красной рамкой. В правом верхнем углу есть ссылка "Switch To PHP Extensions".
Находим пункты «max_execution_time» и «memory_limit» и увеличиваем их значенияИсточник: Teczpert Online

7. Проверить плагины (Для сайтов на WordPress)

Некоторые плагины, которые вы устанавливаете на свой сайт, могут выдавать ошибку сервера: код состояния 500. Чтобы проверить их работу на Wordpress, перейдите в левое меню в раздел «Плагины» → «Активные». Установите чекбокс вверху таблицы, чтобы выбрать сразу все плагины, а затем выберите в выпадающем меню пункт «Деактивировать» и нажмите «Применить».

Скриншот WordPress
Отключение активных плагинов в панели управленияИсточник: YouTube-канал: Юлия Литвина

Если у вас не получается попасть в консоль, потому что 500 ошибка отображается на всех страницах сайта, отключить плагины можно и через панель управления хостингом. Для этого нужно перейти в раздел «Менеджер файлов» и отыскать корневую папку домена «public_html».

Затем следует провалиться в папку «wp-content» и изменить название папки «plugins» на произвольное. Это действие должно отключить все плагины. После этого снова перейдите на сайт. Если ошибка code 500 пропала, создайте новую папку «plugins» и начните перетаскивать в нее папки с плагинами по одной, до тех пор пока не найдете «битый» плагин.

Что делать, если не удается исправить ошибку 500

Если вы перепробовали все возможные способы, а ошибка 500 все еще появляется, рекомендуется обратиться к профессиональным разработчикам или службе поддержки хостинга. Возможно, проблема связана с глубокими ошибками в коде, аппаратными сбоями или техническими работами на стороне провайдера. Обычно провайдер заблаговременно уведомляет своих клиентов о подобных мероприятиях в разделе «Сервисные уведомления» в панели управления. Помните, чем быстрее будет найдена и исправлена причина, тем меньше ущерба нанесет ошибка вашему сайту и его посещаемости.

Что бесполезно делать при Error 500

  1. Перезагружать компьютер. Это действие не решит проблему с ошибкой 500, так как в сетевой архитектуре ваш ПК не является клиентом.
  2. Использовать другой браузер. Смена браузера может помочь только в том случае, если его кэш окажется переполнен.
  3. Переустановка программного обеспечения. Переустановка ПО также вряд ли приведет к исчезновению error 500.
  4. Перезагрузка роутера. Перезагружать роутер имеет смысл только в том случае, когда появляется ошибка «Подключено — без доступа к интернету».