Как устранить внутреннюю ошибку сервера. Ошибка Internal Server Error: что это и как с ней бороться

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

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

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

Типы ошибок

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

Коды ошибок бывают положительными и отрицательными или успешными и не успешными.

Всего существует 4 типа кодов (хх - сочетание любых цифр):

  • 2xx - запрос выполнен успешно;
  • 3xx - запрос успешно перенаправлен (тоже положительный код);
  • 4xx - ошибка - документ не был отправлен пользователю, так как произошла критическая ошибка. Класс кодов 4xx предназначен для указания ошибок со стороны клиента;
  • 5xx - ошибка сервера - критическая ошибка на сервере. Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.

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

Ошибка 400

Bad Request

При переходе на сайт браузер может выдавать “400 Bad Request”. Это означает, что сервер обнаружил синтаксическую ошибку в запросе, который ввел пользователь. Однако подобная ошибка может появляться не только, когда вы вводите адрес сайта, но и, например, при входе в панель управления вашим сайтом. Причин возникновения может быть несколько:

  • блокировка браузера антивирусом;
  • блокировка брендмауэра Windows браузером;
  • большое количество файлов cookies и данных в сache;
  • перебои в работе интернета.

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

Блокировка браузера

  • Изучите настройки вашего антивируса в разделе под названием “Правила для приложений” или схожим с ним.
  • Проверьте, есть ли ваш браузер в списке, и каков уровень доверия к нему.
  • Повысьте уровень доверия к вашему браузеру, если он низкий.
  • Сохраните новые настройки и попробуйте снова зайти в панель управления.

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

Блокировка брендмауэра Windows

  • Попробуйте отключить брендмауэр на время: меню Пуск - Панель управления - Система и безопасность - Брандмауэр Windows - Включение и отключение.
  • Очистите кэш и куки.
  • Обновите страницы с ошибкой.
  • Если проблема устранена, то для завершения добавьте в брандмауэр разрешенные программы: Пуск — Панель управления — Система и безопасность — Брандмауэр — Разрешение запуска программы через брандмауэр.

Если проблема осталась — продолжайте проверку.

Cache и cookies

  • Удалите cookies и очистите cache: нажмите Shift + Ctrl + Delete в то время, когда браузер открыт.
  • Удалите ненужные файлы.
  • Проверьте работу вашего браузера.

Перебои в работе интернета

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

Ошибка 403

Forbidden

Ошибка 403 означает, что сервер не может выполнить запрос из-за запрета на доступ к запрашиваемым файлам или страницам. Эта ошибка может возникать по ряду причин. Рассмотрим самые распространенные:

  • Индексный файл index.html не загружен в директорию public_html вашего сайта или является некорректным. Для устранения этой ошибки создайте файл с именем index.html или переименуйте уже имеющийся файл. Возможные варианты для имени файла: index.html, index.htm или index.php.
  • Для директории, в которой находится запрашиваемый файл, установлены такие права, что веб-сервер Apache не смог прочитать файл на диске сервера. Для устранения этой ошибки попробуйте изменить права доступа в разделе, отвечающем за настройку прав.
  • Файлы сайта загружены в неправильную директорию. Для устранения этой ошибки проверьте, располагаются ли файлы сайта в директории site/public_html, где site - название вашего сайта.

Ошибка 404

Not Found

Ошибка 404 означает, что сервер не может найти данные по запросу пользователя.
Причины возникновения данной ошибки:

  • Некорректный URL, введенный в адресное поле браузера. Для устранения данной ошибки проверьте, корректно ли указана ссылка.
  • Файл, запрашиваемый по URL, отсутствует на сервере. Для устранения этой ошибки необходимо проверить наличие запрашиваемого файла в директории public_html вашего сайта.

Ошибка 500

Internal Server Error

Ошибка 500 означает, что на сервере есть внутренняя ошибка. Эта проблема может возникнуть по двум причинам:

  • Невозможно запустить скрипт. Скорее всего, указаны неправильные права доступа на папки и файлы. Если на PHP файлы скриптов, размещенных на вашем хостинге, стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта. Для устранения этой ошибки следует проверить права доступа на папки и файлы сайта. Для папок рекомендовано установить права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.
  • Неправильная инструкция в файле.htaccess или наличие в нём неподдерживаемых директив. Возможно, вы ошиблись в написании названия нужной директивы или параметров к ней. Данную ошибку можно устранить, включив лог ошибок error.log. Веб-сервер укажет вам, какую конкретно директиву он посчитал ошибочной — ее нужно будет исправить.

Ошибка 502

Bad Gateway

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

  • Проблемы в работе прокси-сервера. Для устранения этой ошибки попробуйте набрать в адресной строке браузера ссылку на какой-либо другой сайт. Тем самым вы можете проверить, есть ли доступ в Интернет вообще. Если вы обнаружили, что доступ в Интернет есть, но ваше обращение к конкретному сайту все равно дает ошибку 502, попробуйте удалить файлы cookies в браузере.
  • Нехватка ресурсов сервера. Это может означать, что нагрузка на сервер превышает ресурсы, доступные на выбранном тарифе хостинга. Уточните у своего хостинг-провайдера информацию о тарифах с большим объемом ресурсов и, в случае необходимости, увеличьте оперативную память или доступный объем диска.

Ошибка 503

Service Temporarily Unavailable

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

Чтобы исправить данную ошибку нужно знать причины, по которым она может появляться:

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

  • Проверить все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов или поищите более быстрый аналог.
  • Проверить наличие у вас медленных запросов - в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы.
  • Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта.

2. Большое количество запросов к серверу. Причин возникновения таких запросов несколько:

  • Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.
  • DDoS-атаки, флуды, спамы в комментарии также могут вызывать большое количество запросов. В случае DDoS-атаки необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению. Подробнее про DDoS-атаки вы можете прочитать в статье "

Ошибка 500 internal server error. Как ее исправить.

Ошибка 500 Internal server error. The server encountered an internal error or misconfiguration and was unable to complete your request (внутренняя ошибка сервера) возникает вследствие целого букета различных неполадок на самом сайте. Окно с ошибкой выглядит по-разному для каждого сервера, но суть, однако, для всех их одна. Примеры скриншотов с ошибкой:

С сайта Google

С сайта YouTube

Для начала разберитесь, в чем состоит суть проблемы. Попробуйте зайти на проблемный ресурс спустя некоторое время, если проблема актуальна, следует перейти к активным действиям.

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

Неполадки могут возникнуть после загрузки файла Localstart.asp . Убедитесь, что пользователи имеют доступ на запуск сценария, указанного в данном файле. Для проверки перейдите на вкладку Администрирование (можно найти через меню «Пуск»), щелкните по команде «Службы IIS », затем найдите «Веб-узел по умолчанию», выберите свойства искомого файла. На вкладке «Безопасность (файлов)» найдите строчку «Анонимный доступ» и снимите флажок, если он там установлен. Проверьте работоспособность сервера. Внимание! В различных версиях Windows путь к данному файлу может выглядеть по-разному.

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

Также удостоверьтесь в том, что имеется соответствующий допуск к файлам (его можно изменить по FTP), а также, что содержащиеся скрипты передаются по текстовому ASCII-режиму (не допускается использование других кодировок!). Опять же, откройте на сервере error.log и взгляните на текст ошибки. Если она имеет вид: «Premature end of script headers…», то это тот самый случай. Проверьте правильность использования скрипта, он должен изначально содержать строку, идентифицирующую тип загружаемого контента (пример: Content-type: text) и лишь затем, собственно, сам контент. Исправьте заголовки и перезапустите сервер. Ошибка 500 не исчезла? Вероятно, вам придется провести проверку скрипта целиком, сверяясь с соответствующими диагностическими материалами.

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

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

Появление ошибки 500 в браузере может быть вызвана различными причинами. Поэтому мы перечислим ниже все способы для ее устранения:


Ошибка 500 в браузере Google Chrome

Причины ошибки HTTP ERROR 500

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

Для начала необходимо обратить внимание на настройки прав доступа. На каждый тип элемента нужно обратить внимание отдельно. Для файлов значение должно быть указано – 644, для папок – 755 и для скриптов – 600. Только одному человеку желательно настраивать аккаунт и не позволять никому получить такие права.


Настройки прав доступа

Запредельная длительность выполнения скрипта

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

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

Проблемы с файлом.htaccess

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

Найдите в корне сайта этот файл «.htaccess». После чего скопируйте его в другое место, чтобы не потерять. Теперь удалите его из сайта. Если все стало на свои места, значит проблема именно в этом файле. В этом случае возьмите файл из нового дистрибутива вашей CMS (Системы управления сайтом).


Файл.htaccess

Можно просмотреть сведения об ошибках сервера. Все они заносятся в специальный файл под именем – «error.log». Открыв его, вы можете найти информацию о том, какая именно из ваших директив является конфликтной. К примеру, «Invalid command ‘Prive’ сообщает нам о том, что ‘Price’ директива содержит опечатку, исправив «v» на «c» решится данная проблема.

Коду нужно больше памяти

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


Память под работу скриптов

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

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

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

Самыми распространенными причинами возникновения ошибки 500 можно назвать такие:

  1. Некорректная работа новой темы для оформления сайта;
  2. Также возможен конфликт плагина;
  3. Проблемы с таким файлом, как «.htaccess».

Некорректная работа новой темы для оформления сайта

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

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

После того, как вы переименовали папку, то при заходе на страницу сайта вы увидите совсем пустую страничку и отсутствие каких-либо упоминаний об ошибках.

На следующем нашем шаге заходим в панель управления WordPress и шагаем во вкладку «Внешний вид ». Видим сообщение, в котором указано, что установлена новая тема оформления.

Не удаляйте стандартные темы для оформления сайта, они вам смогут пригодиться после того, как вы восстановили сайт. А если вы все-таки удалили их, то загрузите стандартные темы и установите одну из них. В нашем примере будем работать с темой «Тwentytwelve ».

Следом за этим нам нужно зайти в «phpMyAdmin »

Теперь нужно будет выбрать Базу Данных вашего сайта

И введите туда такой код:

Должно это выглядеть так:

После этих действий ваш сайт снова преобразится.

Устранение ошибки 500 , вызванной конфликтом плагина

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

А если доступа нет, то есть вероятность, что тот плагин, который вы установили начал конфликтовать с другими плагинами, которые вы активировали. И в этом случае остается только отключать его с помощью FTP -сервера (точно также, как отключали тему оформления сайта). Кратко: заходим на FTP сайта, на котором исправляете ошибку, затем идем в папку в которой находится установленный плагин, меняем имя, либо редактируем (можно добавить лишь один символ). В случае изменения имени при последующем переходе с консоли в «Плагины » вы увидите, что WordPress произведет его деактивацию автоматически.

Устранение ошибки 500, вызванной конфигурационным файлом.htaccess

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

Для того, чтоб исправить ошибку нам нужно будет снова зайти на FTP , ведь этот файл находится на вашем сайте, в корневой папке. Но из-за того, что название ”.htaccess” начинается с точки, то этот файл изначально является скрытым. Именно по-этому качаем FileZilla - это простой в использовании и бесплатный FTP-клиент . Устанавливаем прогу и заходим во вкладку «Сервер », затем ставим галочку на принудительном отображении скрытых файлов. После этого снова переподключитесь к FTP чтобы обновился список файлов.

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

Чтобы это осуществить вам нужно зайти в панель администрирования ресурсом, затем в «Параметры », а в них находим «Постоянные ссылки », в которых выбираем нужный нам вариант и жмем на «Сохранить ».

Не забудьте, что если настройки, в .htaccess были внесены тем плагином, который вам предстоит использовать, то очень внимательно прочтите все возможные инструкции, касательно его настроек и установки.

Разработчики и люди, профессионально работающие с веб-приложениями, боятся 500 Internal Server Error . Оптимальный способ её устранения зависит от сервера и того, что на нём запущено. В данной статье приводятся советы по диагностике и исправлению ошибки 500 .

Диагностика ошибки 500 Internal Server Error

Важно помнить, что эта ошибка происходит на стороне сервера. Это значит, что HTML-код , выполняемый на стороне клиента, а также JavaScript или любые другие запущенные в браузере объекты, не могут быть источником . Само название (Internal Server Error – ‘внутренняя ошибка сервера’ ) говорит о том, что ошибка происходит на сервере.

Устранение ошибки на популярных платформах

Многие пользователи устанавливают на свой сервер популярные CMS-системы , такие как WordPress , Joomla , Drupal и они не должны вызывать ошибку 500 , если всё настроено правильно. Однако она всё равно всплывает – из-за несовместимости версий, некачественных установок или сбоя прав доступа на сервере.

Вот некоторые распространённые проблемы, которые могут вызывать подобную ошибку в часто используемых CMS :

  • Если вы только что обновили движок до новой версии, вероятно, обновление прошло с ошибками и необходимо провести его повторно. Скорее всего, на сайте разработчика есть инструкции, как это правильно сделать.
  • Если вы только что активировали новый плагин или новую тему, стоит попробовать отменить эти изменения. Даже профессионально написанные плагины могут конфликтовать с другими и вызывать 500 Internal Server Error nginx
  • Если вы обновляли CMS , старые плагины и темы могут быть с ней несовместимы. Единственное, что можно сделать в таком случае - отключать их по очереди, пока ошибка 500 не исчезнет.
  • Неправильно заданные права доступа на сервере или ошибки в файле .htaccess . Серверу не удаётся получить доступ к скриптам, файлам и другим ресурсам, поэтому он выдаёт ошибку.

Когда причиной ошибки 500 Internal Server Error являются скрипты и плагины, лучше всего искать ответы на сайтах их разработчиков.

Устранение ошибки на стороне серверных скриптов

Другой причиной ошибки 500 Internal Server Error может стать разработка и тестирование собственных скриптов.

Чтобы справиться с такой ошибкой, попробуйте следующие решения :

  • Настройка прав на сервере : часто неверная настройка прав доступа к файлу или папке приводит к тому, что сервер выдаёт . Из-за того, что ему не удаётся запустить скрипт. Выясните, какие права должны быть настроены, и выставьте их соответствующим образом.
  • Превышено время ожидания : возможно, истекло время ожидания ответа от PHP или другого серверного скрипта. Это происходит из-за того, что недоступен определённый ресурс или коде была допущена ошибка, запускающая бесконечный цикл.
  • Превышено время ожидания соединения с сервером: если сервер был занят, перезагружался или потерял соединение, скрипт может выдать ошибку 500 Internal Server Error . Возможно, в следующий раз ошибки не будет. Но если ошибка появляется при тестировании, велика вероятность того, что она встретится и пользователям.
  • Ошибки в файле.htaccess: в некоторых случаях ошибку 500 может вызывать код, прописанный в файле .htaccess .
  • Ошибки в скрипте: если ошибку выдаёт скрипт, можете запросить у него подробную информацию об ошибке. К примеру, в PHP можно включить вывод ошибок на экран или в лог-файл, добавив директиву display_errors . По умолчанию среда выполнения может скрывать ошибки, но это не очень удобно для отладки программы.

Попросите помощи у системного администратора

В некоторых случаях у разработчиков нет полного контроля над сервером.

Если скрипт запускается на сервере сторонней организации, она может помочь вам в следующем :

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

Ошибку 500 Internal Server Error довольно легко устранить

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

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

Перевод статьи “500 Internal Server Error: What It Is And How To Fix It ” был подготовлен дружной командой проекта .

Хорошо Плохо