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

Nokia 26.07.2019
Nokia

Одной из самых популярных платформ на сегодняшний день является Worpress. Она имеет удобную административную консоль и с ней практически любому пользователю теперь под силу самостоятельно сделать свой собственный сайт. Но порой случаются сюрпризы, которые полностью парализуют работу сайта и ставят вас в тупик. И тогда перед глазами появляется ужасный белый экран смерти, неведомая PHP-ошибка, к которой привели неполадки на сервере, или плановые обновления плагинов, приведшие к краху сайта. Любую проблему можно решить, имея достаточно знаний и бесценный опыт. И в этот раз мы поговорим о внутренней ошибке сервера (Internal Server Error), а также о ее причинах и мерах устранения.

Ошибка 500 или внутренняя ошибка сервера (Internal Server Error)

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

Проблемы, из-за которых возникает Ошибка 500:

Конфликты в плагинах (обычно возникают после обновления)
Неполадки в теме сайта (возникают при обновлении родительской темы)
Ошибки в файле.htaccess
Превышен лимит PHP-память

Как устранить Ошибку 500.

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

Исправление файла.htaccess.

Основной и наиболее частой причиной этой проблемы является как раз некорректная работа файла htaccess. Чтобы исправить этот сбой вам необходимо авторизоваться в корневом каталоге WordPress, для этого подойдет специальный файловый менеджер (или ). Затем переименуйте его в.htaccess.back. После чего просто обновите окно и проверьте помогла ли данная мера. Если все хорошо, то дальше необходимо зайти в раздел «Параметры» -> «Постоянные ссылки» и нажать на «Сохранить изменения», чтобы новый файл.htacess перезапустился и перезаписал правила. Если не помогло, то переходим к плагинам.

Деактивация всех плагинов

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

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

Если это решение не помогло, то нам придется менять тему.

Изменение темы

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

Восстановление директорий the «wp-admin» и «wp-includes».

Если сбой все еще присутствует, то можно произвести замену указанных папок свежими копиями из последней версии WordPress.

Увеличение лимита PHP-памяти.

Когда вышеперечисленное не помогло, то не надо отчаиваться. Придется всерьез поработать, чтобы все привести в порядок на вашем сервере. Ошибка 500 - решаема и это не конец вашего сайта. Если обстоятельства вынуждают вас применить крайние меры, то воспользовавшись Редактором кода необходимо написать текстовый файл, переименовав его в php.ini.
Внутри него необходимо прописать: memory=64MB
Загружаете сохраненный файл в папку «wp-admin». В случае устранения сбоя и расширения PHP-памяти необходимо выяснить у своего , что именно могло привести к перелимиту. У хостера имеется все записи из журнала операций, а причины могут быть какие угодно: от неправильно разработанных плагинов, до некорректной работы темы.

Материалы по теме:

Почему отображаются знаки вместо текста

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

Как добавить форму комментариев Vkontakte

Всем привет! Недавно, мне поступил заказ от клиента, он хотел, что бы я на его блоге разместил другую форму комментариев. От предложенного мною плагина...

Видео-хостинг для размещения видео на киносайтах

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

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

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

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

Типы ошибок

Ошибки протокола 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.

Чаще всего ошибку вызывает:

  1. Тема оформления
  2. Плагин(ы)
  3. Файл.htaccess

Давайте рассмотрим эти варианты по порядку.

1. Тема оформления

Вы нашли или приобрели новую понравившуюся вам тему оформления, но после её установки при входе на сайт выдаётся ошибка о его некорректной работе (ошибка 500). При входе в консоль управления тоже наблюдается ошибка 500.

Для восстановления работы сайта можно воспользоваться одним из следующих способов:

1.1. FTP

Зайдите на FTP вашего сайта и найдите папку в которой находятся ваши темы оформления. По умолчанию это /wp-content/themes/

Переименуйте, удалите или исправьте текущую тему оформления сайта.

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

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

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

Загрузить стандартные темы оформления можно здесь:

  • TwentyTen
  • TwentyEleven
  • TwentyTwelve

1.2. PhpMyAdmin

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


Выбираем Базу Данных вашего сайта:

Переходим во вкладку SQL :

И копируем туда следующий код:

UPDATE wp_options SET option_value = "twentytwelve" WHERE option_name = "template"; UPDATE wp_options SET option_value = "twentytwelve" WHERE option_name = "stylesheet"; UPDATE wp_options SET option_value = "twentytwelve" WHERE option_name = "current_theme";

Для смены темы оформления таким способом нужно правильно указать её название. Советую использовать стандартные темы оформления в данном случае, ссылки на которые мы приводили выше.

После этого содержимое вашего сайта снова отобразится.

2. Плагины

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

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

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

Для того, чтобы отключить плагин :

  1. Зайдите на FTP вашего сайта.
  2. Зайдите в папку с установленным плагином, по умолчанию это /wp-content/plugins/
  3. Переименуйте, удалите или отредактируйте плагин. Если вы не удалили, а переименовали плагин, то при переходе в "Консоль управления → Плагины " WordPress автоматически его деактивирует.

3. Файл.htaccess

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

Обычно файл .htaccess находиться в корневой папке вашего сайта (в которую вы попадаете сразу после подключения к FTP).

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

В FTP-клиенте FileZilla следует перейти в меню "Сервер " и поставить флажок на "Принудительно отображать скрытые файлы ", а затем обновить список файлов или подключиться заново к FTP, чтобы увидеть файл.

Теперь данный файл стал доступен, и вы можете открыть его в любом текстовом редакторе, например в блокноте, но для удобства работы советую использовать Notepad++ .

Когда вы откроете файл, вы увидите текст, который по сути является правилами и указаниями для работы веб сервера. Вы можете просмотреть внесенные вами изменения и устранить ошибки, либо данный файл можно просто удалить, а в последствии сгенерировать новый средствами WordPress. Для этого нужно перейти в панель администратора сайта, Параметры → Постоянные ссылки , выбрать нужный вариант и нажать "Сохранить ".

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

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

Ошибка Internal Server Error: что это?

Итак, начнем, пожалуй, с самого значения этого словосочетания. В системе (каталоге) ошибок Windows (и не только) есть ошибка под номером 500, отвечающая Internal Server Error. Перевод этого словосочетания означает внутреннюю ошибку сервера, связанную со статусом

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

Причины возникновения ошибки

Говоря об ошибке Internal Server Error в самом широком понимании, стоит учитывать, что возникать она может на множестве сайтов или ресурсов, написанных с помощью совершенно разных CMS. Тут, кстати, нужно разграничить причины ее возникновения.

Очень часто такая ситуация может наблюдаться на сайтах типа WordPress, OpenCart, Joomla и др. Если же структуры управления, подобные WordPress, при построении сайта не используются, возможно, причина кроется в том, что на самом хостинге возникают сбои при подключении неправильных PHP-расширений, или сайт после запроса возвращает некорректные HTTP-заголовки, которые не могут быть распознаны вашим сервером.

Не менее распространенной причиной возникновения ошибки Internal Server Error можно назвать отсутствие корректных прав доступа. Так, например, если на PHP файлы скриптов, которые размещены на хостинге, имеют права доступа 777, очень может быть, что их исполнение попросту блокируется сервером, вследствие чего и выдается сообщение об ошибке.

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

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

Наконец, одна из самых распространенных ситуаций возникновения ошибки Internal Server Error - это содержание некорректных директив в файле.htaccess (кстати, при работе с движком WordPress это проявляется наиболее часто). Вот теперь мы вплотную подошли к поиску решения для каждой конкретной ситуации.

Ошибка Internal Server Error: как исправить простейшими способами

Для начала посмотрим, что можно сделать при обнаружении неправильных прав доступа. В данном случае позволяют редактировать содержимое абсолютно всем, что, несомненно, сказывается на безопасности. В такой ситуации необходимо их изменить, применив к папкам значение 755, к файлам скриптов - 600, а ко всем стальным файлам данных - 644.

При слишком долгой работе исполняемого скрипта можно попробовать увеличить время ожидания, правда, тут есть одна загвоздка. Такое решение может сработать на выделенном сервере или VPS (Virtual Private Server), а в случае никакого эффекта не будет.

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

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

Проблемы с движком WordPress

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

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

В некоторых случаях может потребоваться обновить WordPress до последней версии и отключить функцию перезаписи файла. Для начала скачиваем на компьютерный терминал оригинальный файл.htaccess, затем входим на сайте в папку по пути /wp-admin/includes/ с последующей загрузкой файла misc.php, который необходимо открыть, скажем, в стандартном «Блокноте» (или любом другом текстовом редакторе) и найти строку функции «function save_mod_rewrite_rules». Теперь в самой функции переходим к строке «return insert_with_markers($htaccess_file, "WordPress", $rules);» и заменяем ее на «return true;» (естественно, все команды прописываются без кавычек). Остается только сохранить изменения и загрузить новый файл на хостинг с заменой старого файла misc.php.

Недостатком такого метода является только то, что в данном случае отключается обновление WordPress. При подключении плагинов они работать, естественно, не будут.

Заключение

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



Рекомендуем почитать

Наверх