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

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

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

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

Почему возникает код ошибки 500

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

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

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

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

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

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

Еще одна ошибка сервера (503), которая возникает, когда сервер не готов обработать запрос.
Еще одна ошибка сервера (503), которая возникает, когда сервер не готов обработать запрос.

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

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

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

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

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

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

Что делать администратору сайта, если возникла ошибка 500

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

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

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

Проблема с конфигурационными файлами может возникать только в том случае, если вы настраивали их самостоятельно. В этом случае ошибку 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.

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

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

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

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

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

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

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

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

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

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

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

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

Проверяем значения прав для папок и каталогов в файловом менеджере / Источник: YouTube-канал Юлия Литвина
Проверяем значения прав для папок и каталогов в файловом менеджере / Источник: YouTube-канал Юлия Литвина

Проверка базы данных

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

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

Проверка использования ресурсов на сервере

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

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

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

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

Как изменить параметры PHP-скриптов. Источник: Teczpert Online
Как изменить параметры PHP-скриптов. Источник: Teczpert Online

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

Находим пункты «max_execution_time» и «memory_limit» и увеличиваем их значения. Источник: Teczpert Online
Находим пункты «max_execution_time» и «memory_limit» и увеличиваем их значения. Источник: Teczpert Online

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

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

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

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

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

Обратитесь к хостинг-провайдеру

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

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

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