Что означает 500 ошибка сервера на сайте?

Что означает 500 ошибка сервера на сайте?

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

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

Сразу отмечу тот факт, что в том случае, если все страницы вашего сайта имеют код ошибки 500 (Internal Server Error), то вполне возможно, что это не ваша вина, а скорее всего просто сервер «барахлит» или же на нем тупо идут временные технически работы.

В таком случае нужно в первую очередь обратиться в техническую поддержу вашего хостинг-провайдера и если проблема не в сервере, то на худой конец можно сделать back uk (откат к сохраненной версии сайта) или попытаться исправить эту ошибку самостоятельно.

DarkStack — сайт full stack разработчика с пятилетним стажем работы в сфере создания и продвижения сайтов любой сложности под заказ.

Подробное руководство о том, как исправить ошибку 500 internal server error на сайте.

Твитнуть цитату

Исправить внутреннюю ошибку сервера 500 на таких CMS-системах, как WordPress, Joomla или OpenCart — практически не составляет никого труда. Для этого просто внимательно прочитайте эту статью, а если появятся какие-либо вопросы — смело пишите мне в Twitter.

500 внутренняя ошибка сервера — что это значит?

Ошибка 500 (от англ. 500 Internal Server Error) — внутренняя ошибка сервера, возникающая во время сбоя веб-сервера или наличия ошибки в серверной части веб-приложения.

HTTP-статус ответа сервера можно подделать как для определенных IP-адресов, так и для всех пользователей веб-приложения. Однако, ошибка 500 internal server error возникает в основном из-за технических неисправностей веб-ресурса или веб-сервера.

Ошибка 500

Если вы столкнулись с ошибкой 500 на каком-либо сайте и при этом не являетесь его владельцем, я рекомендую выполнить следующие действия:

  • Откройте консоль на компьютере (CMD + Enter) и выполните следующую команду: ping (название домена). Пример: ping vk.com и если обмен пакетами произойдет без потерь — значит вам просто нужно очистить кэш браузера или зайти на сайт с помощью VPN.

  • Подождите определенное количество времени в том случае, если при выполнение команды ping (название домена) произойдут потери. Вполне возможно, что сайт упал по причине ошибки веб-приложения или сбоя каких-либо настроек веб-сервера.

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

Причины кода ошибки 500 internal server error

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

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

HTTP-status 500 internal server error

Понятно, но я не программист, — как мне решить эту проблему?

Вам уже известно, что означает ошибка 500 и то, что ее очень легко исправить, поэтому даже если вы не обладаете соответствующими знаниями веб-разработки — вы без труда ее устраните. К тому же, я опишу причины возникновения Error 500 самыми простыми словами.

Сразу хочу отметить то, что в данном разделе статьи будут рассмотрены только наиболее часто встречающиеся причины возникновения внутренней ошибки сервера.

Самые распространенные причины возникновения ошибки 500 internal server error.

Твитнуть цитату

#1. Неправильно настроенный файл .htaccess

Одна из самых распространенных причин возникновения 500 internal server error — это неправильно настроенный файл .htaccess. Он предназначен для изменения конфигурации и настройки веб-сервера Apache, поэтому любая ошибка в нем приведет к падению сайта.

ПРИМЕЧАНИЕ. Некоторые CMS-системы (и их плагины), типа WordPress имеют доступ к файлу .htaccess и могут записывать в него свои инструкции, поэтому на всякий случай лучше все же закрыть доступ к данному файлу на сервере.

Чтобы исправить ошибку 500 — откройте файл .htaccess и тупо закомментируйте весь код (Ctrl + A и Ctrl + /). Затем перейдите на сайт и посмотрите — пропала ошибка или нет. Если 500 ошибка сервера никуда не пропала, то тогда переходим к следующему пункту.

#2. Технические работы на веб-сервере

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

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

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

#3. Тайм-аут при получении внешнего ресурса

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

По этой причине следуют задать соответствующий тайм-аут проксирования в ответ на HTTP-запрос пользователя для вашего веб-сервера. Если для вас это сложно — обратитесь за помощью к фрилансерам или поищите ответы на форумах для веб-разработчиков.

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

#4. Тайм-аут при выполнении PHP-скриптов

Не исключено, что 500 ошибка на сайте связана с ограниченным лимитом выполнения PHP-скриптов и прерыванием их запуска в ответ на HTTP-запрос пользователя. По этой причине обязательно установите true для ignore_user_abort в конфигурационном файле PHP.

Также не забудьте подставить соответствующее значение для max_execution_time внутри вашего файла php.ini. С помощью данной директивы можно задать максимальное время в секундах, в течение которого PHP-скрипт должен полностью загрузиться.

Если вы используете какую-нибудь CMS-систему, типа WordPress или OpenCart, и данная ошибка связана именно с тайм-аутом при выполнении «тяжелых» PHP-скриптов, то следует либо сменить шаблон, либо самостоятельно оптимизировать проблемные участки кода.

#5. Устаревший кэш на стороне клиента

Очень редко случается, что внутренняя ошибка сервера связана с устаревшим кэшом на стороне клиента. Честно говоря, я сам не понимаю то, как это возможно, но тем не менее — это факт. Для решения данной проблемы знания веб-разработки совсем не требуются.

Просто нажмите Ctrl + Shift + Delete, после чего откроется новая вкладка в браузере, на которой вам нужно отметить определенные флажки для очистки кэша браузера и файлов cookie. Иногда это может сработать, хотя я не особо в это верю.

Если вы все равно не понимаете, как очистить кэш в браузере или вам просто по каким-то причинам лень это понимать — тогда просто зайдите на свой сайт с другого браузера и вполне возможно, что ошибка 500 internal server error исчезнет с вашего веб-приложения.

Как исправить ошибку 500 на сайте?

Мы уже выяснили, что такое 500 internal server error и причины ее возникновения, поэтому теперь давайте поговорим о том, как исправить ошибку 500 на сайте.

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

Для этого мы рассмотрим 3 следующих способа:

  • Самостоятельно исправить ошибку 500 internal server error на сайте;
  • Найти фрилансера или обратиться в веб-студию для исправления ошибки 500;
  • Обратиться к хостинг-провайдеру за помощью (консультацией).

Один из этих способов вам точно поможет, а если нет — вы знаете, где меня искать:) Просто напишите мне в Twitter и я постараюсь помочь вам разобраться с этой ошибкой.

Самостоятельно исправить ошибку 500 на сайте

Если вы решили самостоятельно исправлять ошибку 500 на веб-сайте, то для этого в первую очередь посмотрите логи веб-сервера. Например, на моем хостинге установлена cPanel, в ней я могу посмотреть последние 300 ошибок сервера Apache в любое время дня и суток.

В связи с этим, если на вашем хостинге тоже установлена cPanel, то тогда перейдите в панель управления, затем найдите в ней раздел «Ошибки» и перейдите туда для просмотра логов веб-сервера Apache. Для ISP manager смотрите видео, опубликованное чуть выше.

Логи веб-сервера Apache в cPanel

Ну, а если error 500 связана с ошибками выполнения PHP-скриптов, то тогда в этом случае вам поможет файл error_log. Обычно данный файл располагается в одной директории с тем PHP-скриптом, при выполнении которого была допущена ошибка.

Сразу хочу отметить то, что у вас не получиться открыть файл error_log на хостинге, если его размер превысит 1 MB. В таком случае просто скачайте данный файл к себе на компьютер и затем откройте его с помощью встроенного блокнота или текстового редактора.

Расположение файла error_log на хостинге

Внутри файла error_log вы обнаружите примерно следующую картину:

Файл error_log с логами ошибок выполнения PHP-скриптов

ПРИЧИНА ОШИБКИ: [18-Jun-2016 14:31:14 UTC] PHP Parse error: syntax error, unexprected 'shoppmilano' (T_STRING) in /home/shoppmil/public_html/w-content/themes/professional/inc/customizer.php on line 423.

— И как нам это понимать?

  • syntax error — это говорит о том, что ошибка синтаксическая.
  • /home/shoppmil/public_html/w-content/themes/professional/inc/customizer.php — это полный путь к файлу, в котором была вызвана данная ошибка.
  • on line 423 — это строка, в которой содержаться ошибка.

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

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

В том случае, если вы не найдете файл error_log и у вас не отображаются последние 300 ошибок веб-сервера Apache в панели управления хостингом, то тогда следует как можно скорее обратиться в тех. поддержку вашего хостинг-провайдера.

Системный администратор лично посмотрит все логи и укажет вам на то, какой именно файл и в какой строчке кода совершена ошибка. Относительно сервера, сисадмин сам все исправит, но в код вашего сайта он лесть конечно же не будет.

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

Найти фрилансера для исправления ошибки 500

Допустим, у вас по каким-то причинам нет времени копаться в коде и разбираться с тем, чем именно была вызвана ошибка 500 internal server error. В таком случае можно обратиться к фрилансерам на какой-нибудь бирже, типа FL.ru, Kwork или Weblancer.

Услуги фрилансера по исправлению любых ошибок

За 500 руб. ребята с любой биржи фриланса с огромным удовольствием исправят любые ошибки на вашем сайте — это я вам, как бывший фрилансер утверждаю. Тупо опубликуйте задание или обратитесь к ТОП'овому исполнителю и вам сделают все в лучшем виде.

Как избежать внутреннюю ошибку сервера?

Мой сайт сделан на Laravel и поэтому, когда я его опубликовал на боевом сервере — сразу же отключил debug. По этой причине, если я допущу хотя бы одну незначительную ошибку в коде — у меня на сайте (в зависимости о того, где именно ошибка) высветиться error 500.

Чтобы избежать ошибок, да и для личного удобства я опубликовал свой сайт в приватном репозитории на Bitbucket и вношу в него все изменения за счет Git. Таким образом, у меня 3 версии сайта: первая на ПК, вторая на Bitbucket и третья на боевом сервере.

Git — система управления версиями

По сути, я просто делаю какие-то изменения на локально сервере, затем отправляю их 2-3 командами на Bitbucket и после этого — одним нажатием кнопки подтягиваю все изменения на хостинг. Для этого просто нужно научиться пользоваться Git.

Git — это очень удобная штука, с его помощью вы сможете в любой момент откатить любые изменения назад. Ну, а все ошибки можно исправить на локальном сервере, тем самым предотвращая любые неисправности на боевом сервере. Скачать Git можно по этой ссылке.

Да и с точки зрения безопасности — это 100% вариант того, что даже если ваше веб-приложение взломают — вы в любой момент сможете переехать на любой другой хостинг.

Error 500 с точки зрения простых пользователей

Как обычный посетитель сайта вы мало что сможете сделать, относительно ошибки 500 Internal Server Error. Дело в том, что сервер, на котором размещен тот или иной сайт имеет неправильную конфигурацию. Т. е. с вашем ПК и сетевым подключением все нормально.

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

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

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

Ну, а если вам нужно прям срочно попасть на тот или иной сайт, но 500 ошибка сервера мешает вам это сделать, то тогда просто откройте сохраненную копию страницы. Это можно сделать как в поисковой система Yandex, так и Google.

Сохраненная копия страницы сайта в Google

Подведем итоги в заключение статьи

Ошибки 500 internal server error — это неприятная проблема, т. к. она не имеет ясного и точного способа исправления. Но я надеюсь на то, что данное руководство помогло вам хоть как-то сократить время на поиски причины 500 ошибки сервера.

Не забывайте ставить актуальную версию PHP, вовремя обновлять плагины и создавать резервную копию сайта. В случае чего — вы будите защищены от фатальных ошибок. И все-таки — попробуйте в своей работе Git, вы не пожалеете то, что потратите на это время.

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

Блог Full Stack Разработчика | DarkStack

Форма для подписка на email-рассылку