Что значит ошибка 500
500 Internal Server Error — это один из стандартных кодов состояния HTTP в ответ на запрос из браузера. Ошибка 500 означает, что сервер в какой-то момент не смог обработать запрос из-за непредвиденной проблемы. В целом же данный код является обобщенным понятием и может появиться на сайте вследствие целого ряда проблем с сервером.
Почему возникает код ошибки 500
Чаще всего ошибка выполнения запроса 500 возникает из-за внутренних проблем на сервере или из-за ошибок в коде самого сайта. Также она может возникать из-за неправильных настроек web-хостинга или проблем с правами доступа к базе данных сайта. Вот список наиболее частых причин, с которыми сталкиваются владельцы сайтов:
- Ошибки глобальных конфигурационных файлов
- Ошибки в файле «.htaccess»
- Отсутствие прав доступа к папкам и файлам на сайте
- Неправильный логин или пароль к базе данных
- Большая нагрузка на сайт
- Ошибки в PHP-скриптах или неподходящая версия PHP
- Несовместимые плагины
Рассмотрим причины и способы их устранения более подробно.
Что делать пользователю, если произошла ошибка 500
Если при переходе на сайт в качестве посетителя вы столкнулись с ошибкой «код состояния 500», вариантов исправить проблему у вас немного. Любые ошибки, которые начинаются с пятерки, как правило, происходят из-за внутренних неполадок на самом сервере и могут быть исправлены только администраторами и владельцами ресурса.
Перезагрузить сайт
Бывает, что на сайте появляется ошибка 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», проблема должна исчезнуть, а вам останется лишь отыскать конфликтующие директивы. Для этого создайте в корневой папке новый файл «.htaccess», затем откройте оба файла в разных вкладках и начните переносить директивы из старого файла по одной, пока не найдете ту, из-за которой произошла ошибка «код 500».
Проверьте права доступа к папкам и файлам
Еще одна причина ошибки 500 — неправильно установленный владелец папок и файлов, а также отсутствие прав доступа к ним.
Если у пользователя, от имени которого веб-сервер выполняет процессы, не будет хватать прав для редактирования или запуска какого-то файла, обработать запрос будет невозможно и появится внутренняя ошибка сервера 500.
В первую очередь это также касается VPS или локальных серверов. Для клиентов виртуальных хостингов данная проблема не актуальна.
Изменить владельца папки или файлов можно через подключение к серверу с помощью командной строки по SSH:
Изменить права:
Проверить и изменить права доступа можно также и в файловом менеджере. Стандартные значения для каталогов — 755, а для файлов — 644.
Проверка базы данных
Ошибка 500 может возникать, когда сервер не может подключиться к базе данных. Это может произойти из-за неправильно введенного логина или пароля. Например, вы поменяли данные, но забыли обновить их в конфигурационном файле «.config». В этом случае код ошибки будет выглядеть так: «Error establishing a database connection», но в логах все равно отобразится api ошибка 500.
Найти конфигурационный файл можно также в корневой папке сайта. Ваша задача открыть его в редакторе и проверить пароль администратора базы в строке «DB password».
Проверка использования ресурсов на сервере
Еще одна популярная ошибка из-за проблем с базой данных может возникать, когда MySQL сервер окажется перегружен из-за большого количества одновременно действующих процессов. Когда таких процессов становится слишком много, некоторые из них могут остаться невыполненными, а на сайте также возникает internal server error.
Отследить загруженность сервера процессами можно через панель управления в разделе «Статистика». Если вы увидите, что количество выделенных процессов заполнены на 100%, в этом случае вам может потребоваться более мощный хостинг. Для этого обратитесь к своему провайдеру и попросите помочь.
Проверьте значения PHP-скриптов
Не лишним будет проверить основные параметры PHP-скриптов. Стартовых значений некоторых параметров может не хватать для выполнения сервером важных скриптов, из-за чего он также может отправить в систему код ошибки 500.
Увеличить значения параметров можно также в панели управления хостингом. Для этого перейдите в раздел «Программное обеспечение» (Software) и откройте пункт «Выбор версии PHP»(Select PHP Version). Затем перейдите на вкладку «Настройки», найдите параметры «max_execution_time» (время в секундах) и «memory_limit» (количество памяти PHP для выполнения скрипта) и увеличьте их значения.
Проверьте плагины (Для сайтов на WordPress)
Некоторые плагины, которые вы устанавливаете на свой сайт, могут выдавать ошибку сервера: код состояния 500. Чтобы проверить их работу на Wordpress, перейдите в левое меню в раздел «Плагины» → «Активные». Установите чекбокс вверху таблицы, чтобы выбрать сразу все плагины, а затем выберите в выпадающем меню пункт «Деактивировать» и нажмите «Применить».
Если у вас не получается попасть в консоль, потому что 500 ошибка отображается на всех страницах сайта, отключить плагины можно и через панель управления хостингом. Для этого нужно перейти в раздел «Менеджер файлов» и отыскать корневую папку домена «public_html».
Затем следует провалиться в папку «wp-content» и изменить название папки «plugins» на произвольное. Это действие должно отключить все плагины. После этого снова перейдите на сайт. Если ошибка code 500 пропала, создайте новую папку «plugins» и начните перетаскивать в нее папки с плагинами по одной, до тех пор пока не найдете «битый» плагин.
Обратитесь к хостинг-провайдеру
Если самостоятельно не получается отыскать причину, по которой произошла ошибка код 500, обратитесь напрямую к вашему провайдеру. Возможно, что вина лежит полностью на его плечах. Например, провайдер проводит технические работы, но не уведомил вас об этом. Обычно провайдер заблаговременно уведомляет своих клиентов о подобных мероприятиях в разделе «Сервисные уведомления» в панели управления.
Что бесполезно делать при Error 500
- Перезагружать компьютер. Это действие не решит проблему с ошибкой 500, так как в сетевой архитектуре ваш ПК не является клиентом.
- Использовать другой браузер. Смена браузера может помочь только в том случае, если его кэш окажется переполнен.
- Переустановка программного обеспечения. Переустановка ПО также вряд ли приведет к исчезновению error 500.
- Перезагрузка роутера. Перезагружать роутер имеет смысл только в том случае, когда появляется ошибка «Подключено — без доступа к интернету».