Устранение ошибки HTTP 500 Внутренней ошибки сервера на вашем сайте

by Luke Odom
Устранение ошибки HTTP 500 Внутренней ошибки сервера на вашем сайте thumbnail

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

«Что вы хотите на ужин?»

«Хм, я не знаю. Что ты хочешь на ужин?»

Ну, ошибка 500 внутренней серверной ошибки примерно так же плодотворна. 

Это общее сообщение появляется, когда сервер столкнулся с ошибкой, которую он не может немедленно объяснить.

Процесс очистки внутренней серверной ошибки 500 с вашего сайта удивительно похож на планирование ужина в пятницу.

Здесь всё сводится к работе над возможными решениями — пицца, паста, каша? — пока вы не уладите свою серверную неполадку.

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

Начнем!

Понимание ошибки HTTP 500 Внутренняя ошибка сервера и почему это важно

Окно браузера Chrome отображает сообщение '500 Внутренняя ошибка сервера' на пустой белой странице.

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

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

Ошибка HTTP 500 обычно означает, что проблема не соответствует другому коду ошибки, такому как один из множества кодов 300, 400 или даже других 500.

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

Глоссарий DreamHost

SEO

Поисковая оптимизация (SEO) повышает рейтинг сайта в результатах поиска, которые основаны на актуальности и качестве. Оптимизация этих факторов улучшает позиции.

Читать далее

Если ваш сайт будет проиндексирован в то время, когда он не работает, существует вероятность, что Google может расценить эту ошибку как проблему вашего сайта.

Эта ошибка также может негативно сказаться на пользовательском опыте (UX), создавая у посетителей впечатление, что ваш сайт непрофессионален, или что ещё хуже…ненадёжен. Плохой пользовательский опыт не только скажется на вашем рейтинге в Google, но и приведет к потере клиентов. В конце концов, вы не сможете вести бизнес, если ваш сайт недоступен!

Ошибка HTTP 500 может быть вызвана множеством различных причин, что делает её устранение довольно трудоёмким процессом. Среди возможных причин внутренней ошибки сервера 500 можно выделить:

  • Проблемы совместимости плагинов для WordPress сайтов.
  • Поврежденные файлы.
  • Ошибки кодирования или синтаксиса.
  • Исчерпан лимит памяти PHP.
Глоссарий DreamHost

PHP

PHP (Hypertext Preprocessor) — это открытый скриптовый язык, используемый в веб-разработке и встраиваемый в HTML. Он используется в популярных CMS, таких как WordPress.

Читать далее

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

Варианты этой 500 ошибки

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

Окно сообщения об ошибке с текстом '500 Внутренняя ошибка сервера' на красном фоне и поясняющим текстом ниже на светлом фоне

Простой белый экран, иногда называемый белым экраном смерти (WSoD), может также иногда указывать на внутреннюю серверную ошибку 500.

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

10 способов исправить ошибку 500

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

Мы начнем с более простых решений, постепенно переходя к более технически сложным.

1. Попробуйте перезагрузить страницу

Давайте начнем с самого простого, идеального случая.

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

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

Простая перезагрузка страницы должна все исправить.

Итак, первое, что вы должны попробовать, это просто подождать минуту или две, в течение которых ошибка может устраниться сама собой. Затем вы можете попробовать перезагрузить страницу, нажав F5 или (command + R, если вы используете Mac).

Получайте контент прямо в свой почтовый ящик

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

2. Очистите кэш вашего браузера

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

Прежде всего, вам может быть полезно проверить удобный сайт Down For Everyone Or Just Me. Это поможет вам узнать, является ли проблема массовой или она возникла только у вас.

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

В большинстве браузеров вы можете начать процесс очистки вашего кэша, нажав Ctrl + Shift + Delete.

В Google Chrome вы можете кликнуть на три вертикальные точки в верхнем правом углу. Затем найдите Очистить данные просмотра в меню, сделайте свой выбор и нажмите кнопку Очистить данные.

Всплывающее окно настроек Chrome для очистки данных просмотров, показывающее опции для cookies, кэшированных файлов и других данных.

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

Но если вы всё ещё видите ошибку 500 внутреннего сервера, пора переходить к более сложным решениям.

3. Создайте резервную копию вашего сайта

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

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

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

Сначала найдите свои учетные данные Secure File Transfer Protocol (SFTP) в аккаунте вашего хостинга сайта. Если вы не знаете, где их искать, спросите у вашего провайдера детали.

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

Интерфейс FTP FileZilla с выделенной опцией «Быстрое подключение» и статусом подключения, локальные структуры каталогов эмоций.

Теперь вам нужно создать папку, которая будет содержать ваши резервные файлы в FileZilla. Щелкните правой кнопкой мыши в верхнем левом квадранте, выберите Создать каталог и назовите ваш новый файл.

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

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

Мы покажем вам, как это сделать с помощью WordPress.

Вернитесь в свой аккаунт хостинга и найдите и войдите в инструмент phpMyAdmin. Найдите и выберите базу данных вашего сайта в левой боковой панели. Это откроет вашу базу данных.

Интерфейс phpMyAdmin, показывающий выбранную базу данных "tylhak_dream_press" и различные названия таблиц в левой боковой панели.

Теперь перейдите к закладке Экспорт в верхней части экрана. Выберите Быстрый метод и нажмите кнопку Экспорт.

Когда ваша загрузка завершена, вы полностью застрахованы!

Интерфейс phpMyAdmin с выбранным чекбоксом «Быстро - показать только минимальные опции» и выделенной вкладкой «Экспорт».
Связанная статья
Как сделать резервную копию вашего сайта на WordPress (3 способа)
Читать далее

4. Получите доступ к вашим журналам ошибок

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

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

Корневая директория сайта WordPress, доступная через SFTP, с папками типа .cache, журналы, .php, .wp-cli и т.д.

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

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

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

Внутри найдите следующую строку (command + F на Mac или Ctrl+Shift+F на Windows будет полезно здесь):

define('WP_DEBUG', false);

Фрагмент файла конфигурации WordPress с константой WP_DEBUG, установленной в значение false на строке 89.

Как только вы найдете это, замените следующим:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', true );

Это создаст файл debug.log, который вы найдете в директории /wp-content/. Просто не забудьте изменить значение WP_DEBUG обратно на false, когда закончите устранение неполадок.

5. Проверьте наличие ошибки «Error Establishing a Database Connection»

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

Несколько факторов могут быть причиной этого:

  • Неверные учетные данные для входа в базу данных.
  • Поврежденная база данных сайта.
  • Поврежденный файл установки сайта.

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

Перейдите к MySQL Databases и найдите ту, которая соответствует вашему сайту, в разделе Database(s) на этом сервере. Здесь вы найдете название вашей базы данных под заголовком Database . Имя пользователя указано в колонке Users Access.

Чтобы найти пароль, кликните по имени пользователя. На следующем экране прокрутите вниз и кликните на кнопку Показать рядом с полем для пароля.

Далее, вам нужно будет сравнить эти учетные данные с теми, что находятся в вашем файле wp-config.php.

Как вы помните из предыдущего шага, вы можете получить доступ к этому файлу в основном каталоге вашего сайта через SFTP. Найдите файл с именем вашего сайта и отыщите внутри файл wp-config.php. Откройте или загрузите файл и убедитесь, что информация в разделе Настройки MySQL соответствует тому, что вы нашли в вашей панели.

Код конфигурации базы данных WordPress с определениями переменных для имени базы данных, имени пользователя и пароля.

А что, если ваша база данных повреждена?

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

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

Затем получите доступ к файлам вашего сайта через SFTP и удалите папку wp-content и файл wp-config-sample.php.

Наконец, загрузите остальные файлы на ваш сайт через SFTP, перезаписывая любые существующие файлы.

Результат? Теперь у вас есть совершенно новая, не поврежденная установка WordPress!

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

6. Поиск ошибок разрешений

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

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

Меню с опциями для открытия, загрузки, копирования, переименования, удаления и т.д. Выбран CHMOD в подкаталоге wp-content.

Обычно вы должны устанавливать для файлов значение 644 и для директорий и исполняемых файлов — значение 755.

Если вы не уверены в правильности значений, вам следует проверить это у вашего хоста.

7. Увеличьте лимит памяти PHP

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

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

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

Из вашей Панели управления WordPress перейдите в Инструменты > Здоровье сайта.

Меню «Инструменты» WordPress с выделенным пунктом «Состояние сайта» в выпадающем меню.

Кликните по Информации в верхней части экрана, чтобы попасть на страницу Информация о здоровье сайта, и прокрутите вниз до раздела Сервер. Кликните, чтобы увидеть ваш лимит памяти PHP.

Для увеличения лимита памяти PHP есть несколько файлов, которые вы можете отредактировать. Один из них — файл .htaccess, обычно расположенный в корневом каталоге вашего сайта, к которому можно перейти через SFTP. (Примечание: Планы хостинга, использующие Nginx, могут не использовать файл .htaccess. Если это так, вы можете пропустить этот шаг.)

Откройте файл и добавьте следующий код:

php_value memory_limit xxxM

Вы можете заменить «xxx» на нужное количество памяти. Обычно, 256M вполне достаточно.

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

memory_limit = xxxM

После того как вы отредактируете файл php.ini , не забудьте также настроить файл wp-config.php . Хотя эти лимиты технически разные, лимит PHP не может быть ниже лимита памяти WP.

Чтобы исправить это, добавьте следующий код в начало файла wp-config.php:

define('WP_MEMORY_LIMIT', 'xxxM');

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

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

8. Проверьте наличие проблем в вашем файле .htaccess

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

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

Начните с входа на ваш сайт через SFTP и найдите ваш .htaccess файл. Переименуйте файл в .htaccess_old.

Меню файла с опциями для загрузки, вырезания, копирования, переименования и т.д., а также просмотра свойств для файла .htaccess.old. Выбрано «Переименовать».

Теперь создайте новый файл .htaccess в вашем текстовом редакторе и вставьте следующее:

# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Загрузите ваш новый созданный файл .htaccess на ваш сайт. После этого обновите ваш браузер и проверьте, появляется ли сообщение об ошибке.

9. Поиск ошибок кодирования или синтаксических ошибок в вашем CGI/Perl скрипте

Если вы запускаете скрипты Common Gateway Interface (CGI), любые ошибки кодирования или синтаксические ошибки, допущенные вами, могут привести к ошибке 500. Чтобы выявить потенциальные проблемы с вашими скриптами CGI, войдите на ваш сайт с использованием Secure Shell (SSH). Вот как это сделать с DreamHost.

После входа в систему вы можете устранить неполадки вашего CGI с помощью этой команды:

[server]$ ./cgi_name.cgi

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

При работе с CGI есть несколько лучших практик, которые следует учитывать, чтобы избежать проблем.

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

Окно настроек для передачи по FTP. В разделе «Тип передачи по умолчанию», выбран ACSII.

Наконец, при необходимости загрузите в cgi-bin каталог на вашем сервере.

Затем вы можете дважды проверить разрешения ваших файлов после их загрузки.

10. Наконец, спросите вашего провайдера веб-хостинга о потенциальных проблемах с сервером

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

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

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

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

С какими другими ошибками на сайте мы можем помочь?

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

Вот широкий выбор ресурсов для вас:

Держите ваш сайт на правильном пути с DreamHost

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

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

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

Получайте контент прямо в свой почтовый ящик

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