Соберите проект #
Выберите интересующую вас услугу
Меня интересует...

    Ошибка 500 на сайте: причины и способы устранения

    Ошибка 500 на сайте: причины и способы устранения
    6 мин.

      При попытке открыть страницу веб-ресурса могут возникать различные ошибки, одной из которых является ошибка 500. Заходя на сайт, пользователь видит белый экран и надпись «Internal Server Error 500». Она говорит о том, что при подключении к серверу возникли проблемы.

      Иногда устранить данную ошибку может пользователь, но гарантировать 100% результат нельзя. Намного чаще проблема кроется в серверной части, с которой предстоит разбираться владельцу ресурса. Для ее решения собственник имеет куда больше возможностей.

      Что такое ошибка 500

      Число 500 является кодом состояния интернет протокола НТТР. Ошибки класса 5xx появляются в случае неисправности на стороне сервера или при отказе одного из компонентов. Проще говоря пользовательский запрос обрабатывается некорректно. При этом программное обеспечение продолжает функционировать. В итоге браузер пытается бесконечно загрузить нужную страницу.

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

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

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

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

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

      • ошибки в файле .htaccess – данный файл содержит настройки веб-сервера Apache. Изменяя их, можно влиять на его функционирование. Например, управлять редиректами, изменять права доступа, переопределять страницы с ошибками, ограничивать доступ к ресурсу по IP-адресу и многое другое;
      • нехватка оперативной памяти, не позволяющая выполнить скрипт;
      • ошибки в сценариях ресурса, отвечающие за визуальные эффекты и дополнительный функционал;
      • неполадки в коде CMS-системы. Довольно часто причиной возникновения проблем являются плагины, которые конфликтуют друг с другом.

      Как выглядит ошибка 500

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

      Internal Server Error

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

      HTTP ERROR 500 или пустая страница

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

      Если ПК работает под управлением операционной системы Windows, достаточно нажать клавишу F12, после чего откроется панель с инструментами разработчика. В случае с устройствами от компании Apple, все зависит от браузера. Для Chrome, это Cmd+Opt+J, для Safari – Cmd+Opt+C. Если ничего не происходит, необходимо в настройках активировать пункт «Меню разработки».

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

      Как пользователю исправить ошибку 500

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

      Первое что можно сделать – просто перезагрузить сайт. Иногда ошибка 500 возникает вследствие повышенной нагрузки на ресурс, сервер перестает справляться и выдает подобное сообщение. Чтобы обновить страницу достаточно зажать клавишу F5 или Cmd + R в случае с устройствами Apple.

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

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

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

      Помочь владельцу сайта узнать об ошибке, можно связавшись с ним. Иногда, в нижней части страницы есть раздел с контактными данными. Также существуют формы обратной связи, однако они не гарантируют того, что сообщение будет рассмотрено.

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

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

      Исправить ошибки в файле .htaccess

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

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

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

      Обновить РНР

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

      Настроить права для CGI-скриптов

      Избавиться от ошибки иногда помогает присвоение прав для CGI-скриптов. Если у сайта есть подобные сценарии, то все связанные с ними файлы должны иметь следующее разрешение: 0755 (drwxr-xr-x). Оно позволяет вносить изменения только собственнику ресурса. Все остальные смогут их только открывать или активировать. Наличие на скриптах иного права доступа, может приводит к возникновению серверных ошибок.

      Проверить файлы с CGI-скриптами

      Если сценарии правильные, строки у них заканчиваются в формате Unix, то есть символами «\n». В случае использования другого формата – возникают ошибки. Чтобы код сохранялся в нужном варианте, его необходимо загружать на хостинг через FTP протокол в режиме ASCII. Чтобы максимально обезопасить себя от подобных ошибок, рекомендуется заново добавить сценарии в корректном формате. Кроме этого, CGI-скрипты могут приводить к некорректным HTTP-заголовкам ответов. В этом случае определить проблему, можно обратившись к логам.

      Проверить плагины

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

      Проверить лог ошибок

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

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

      Оптимизировать сценарии

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

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

      Увеличить объём оперативной памяти сервера

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

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

      Продолжая пользоваться сайтом, я даю согласие на использование файлов cookie.