Последнее обновление 13 июня 2024 года Жером Кервьель
Ошибка "500 internal server error" может быть неприятной, потому что она не говорит вам, что именно пошло не так.
Также известная как "http-ошибка 500", она может быть вызвана несколькими причинами, такими как конфликты между плагинами или темами WordPress, достижение лимита памяти PHP, повреждение .htaccess файл, неправильная конфигурация сервера или неправильные разрешения на файлы и каталоги, среди прочих причин.
В этой статье я помогу вам определить точную причину ошибки на вашем сайте WordPress и подскажу, как ее устранить.
Распространенные причины ошибки внутреннего сервера HTTP 500
Основные определения:
- "HTTP" означает протокол, используемый для связи между клиентом (вашим браузером) и веб-сервером.
- "500" - это код состояния, указывающий на ошибку внутренняя ошибка сервера.
Таким образом, "внутренняя ошибка сервера HTTP 500" в целом указывает на то, что во время взаимодействия между браузером и веб-сервером произошло что-то непредвиденное и проблема исходит со стороны сервера. Однако, скорее всего, с вашим сервером все в порядке, так что не волнуйтесь.
Что касается истинной причины ошибки, то она могла возникнуть из-за одной из следующих проблем:
- Некачественные плагины или темы может вызвать конфликт с другими плагинами и темами, что приведет к ошибке;
- Исчерпание лимита памяти PHP приводит к преждевременному завершению ресурсоемких операций;
- Испорченный .htaccess файл, основной файл WordPress, из-за неправильной конфигурации или синтаксических ошибок может нарушить способность сервера правильно обрабатывать запросы, что приведет к внутренней ошибке сервера HTTP 500;
- Изменение прав доступа к файлам может привести к тому, что сервер столкнется с проблемами доступа к файлам или каталогам, необходимым для выполнения запроса, что приведет к возникновению ошибки;
- В редких случаях, несовместимость браузеров может привести к тому, что сайт будет нормально открываться в одном браузере и выдавать ошибки в другом.
Теперь, когда мы разобрались с общими причинами, давайте рассмотрим лучшие способы избавления от этой ошибки:
Как исправить внутреннюю ошибку сервера HTTP 500 на вашем сайте
Ошибка внутреннего сервера на вашем сайте - это точно рецепт плохого дня, но мы надеемся, что вместе мы быстро все исправим!
Вот как избавиться от ошибки если вы сталкивались с этим на своем сайте (под управлением WordPress):
1. Очистите кэш браузера
Кэширование - это процесс хранения данных сайта в браузере пользователя для ускорения доступа. Если взять наиболее часто используемые данные сайта и поместить их в кэш, последующие посещения сайта могут обойти некоторые трудоемкие процессы, такие как получение данных с сервера или рендеринг сложных элементов страницы. Это приводит к ускорению загрузки страниц и улучшению пользовательского опыта.
Самый большой недостаток кэширования заключается в том, что оно может привести к отображению устаревшего контента для посетителей. Так, ошибка HTTP 500 internal Server, отображаемая на просматриваемом вами сайте, может быть кэшированной версией сайта. Ошибка могла быть временной и могла быть автоматически удалена.
Именно поэтому очистка кэша браузера - самый простой и зачастую самый эффективный шаг к "исправлению" внутренней ошибки сервера HTTP 500. Я говорю крепление в кавычках, поскольку на самом деле вы не исправляете его - вы просто обновляете свой браузер, чтобы получить доступ к сайту без ошибки.
2. Проверьте журнал отладки
Журнал отладки - это встроенный инструмент WordPress, который содержит подробную информацию об ошибках и предупреждениях, возникающих на сайте WordPress.
Журнал отладки вашего сайта должен содержать подробную информацию о "внутренней ошибке сервера HTTP 500" и может указать вам на источник ошибки. Знание причины - это уже половина победы.
По умолчанию журнал отладки WordPress отключен, чтобы не отображать потенциально важную информацию для посетителей. Сначала вам нужно будет включить его.
Если на вашем сайте отображается внутренняя ошибка сервера, вряд ли у вас есть доступ к приборной панели WordPress. Поэтому вам придется зайти в бэкэнд своего сайта и вставить часть кода в поле wp-config.php файл и включите журнал отладки.
Это можно сделать, подключившись к сайту по FTP или через учетную запись хостинга. Чтобы использовать FTP, прочитайте это руководство. Ниже я покажу вам, как использовать инструменты, доступные на вашем хостинге.
Войдите в свой профиль/аккаунт на хостинге и найдите ссылку cPanel - это панель управления хостингом, которую использует большинство хостеров. Попав туда, перейдите в раздел Файловый менеджер:
В диспетчере файлов выберите public_html папку, а затем найдите папку wp-config .php файл.
Щелкните правой кнопкой мыши на файле и выберите Редактировать вариант. Файл откроется на другой странице.
Прокрутите вниз до конца файла конфигурации и вставьте следующий код прямо перед этой строкой: /* Вот и все, хватит редактировать! Счастливого блоггинга. */
:
define('WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true);
Сохранить изменения и выйдите из файла.
Далее перейдите к public_html → wp-content → debug.log.
Откройте файл, щелкнув правой кнопкой мыши и выбрав пункт Открыть вариант.
Найдите запись о внутренней ошибке сервера 500 и прочитайте подробности ошибки.
Если вы нашли истинную причину, переходите к соответствующему решению в разделах ниже. Если нет, то все равно приступайте к реализации следующих решений по очереди.
3. Деактивировать плагины
Откройте свой хостинг-аккаунт и перейдите в раздел cPanel → Файловый менеджер → public_html → wp-content → plugins.
Щелкните правой кнопкой мыши на . в папке с плагинами выберите Переименовать, и переименуйте папку в "отключение плагинов." Это приведет к деактивации всех плагинов.
Деактивация поможет проверить, не был ли причиной ошибки конфликт плагинов. Если ошибка больше не появляется на вашем сайте, это подтверждает версию о конфликте плагинов.
Затем вернитесь к оригинальное название в папке, чтобы снова активировать все плагины. Это приведет к возвращению ошибки. Не волнуйтесь.
Открыть папку plugins и начните деактивировать плагины по одному - меняйте название папки каждого плагина по отдельности. Каждый раз, когда вы деактивируете плагин, проверяйте, исчезла ли ошибка. В какой-то момент ошибка исчезнет, и вы узнаете, что ее причиной был плагин, который вы только что деактивировали.
Удалите этот плагин, щелкнув правой кнопкой мыши на папке с плагином и выбрав пункт Удалить вариант.
4. Деактивируйте вашу тему
Чтобы деактивировать текущую тему, вам нужно переключиться на другую. Я предлагаю переключиться на тему WordPress по умолчанию, которая уже должна быть установлена на вашем сайте - скорее всего, она просто сидит там деактивированной.
Для этого подключитесь к базе данных с помощью phpMyAdmin (или другого инструмента, который использует ваш хостер) из панели управления хостингом. Войдя в систему, выберите базу данных WordPress и найдите файл wp_options Таблица (она может иметь другой префикс) в меню справа.
Откройте таблицу и нажмите на кнопку Поиск в навигационном меню в верхней части экрана. Введите "шаблон" в Значение поле, соответствующее имя_опции и нажмите на кнопку Перейти на сайт.
Это вернет одну запись из списка wp_options table. Эта запись указывает WordPress, какую тему использовать; тема twentyytwenty в нашем примере.
Дважды щелкните по названию темы в разделе значение_опции и вы можете изменить ее на другую. Это должна быть тема, установленная на сайте, иначе вы столкнетесь с дальнейшими ошибками.
Для большинства сайтов безопасными являются стандартные параметры темы, такие как двадцать три или twentytwentytwo. Когда вы закончите, проверьте свой сайт, чтобы узнать, сохраняется ли внутренняя ошибка сервера HTTP 500.
5. Перезагрузите основные файлы
Зайдите на wordpress.org и загрузите последнюю версию WordPress на свой локальный компьютер. Далее, распакуйте файл (это ВАЖНО).
Вернитесь в свою учетную запись на хостинге и снова зайдите в cPanel → Диспетчер файлов → public_html. Нажмите на Загрузить чтобы загрузить новую папку WordPress.
Вы получите сообщение о том, что собираетесь перезаписать файлы. Ничего страшного - это именно то, что нам нужно. Дайте разрешение и позвольте новым файлам загрузиться.
На завершение процесса уйдет несколько секунд. Проверьте, исчезла ли ошибка 500.
6. Регенерировать .htaccess файл
Для регенерации .htaccess файл, перейдите к public_html → .htaccess. Щелкните правой кнопкой мыши на файле и нажмите кнопку Скачать Чтобы загрузить существующий файл на локальный компьютер в качестве резервной копии, нажмите кнопку .
Снова щелкните правой кнопкой мыши и нажмите кнопку Удалить чтобы удалить файл.
Нажмите на кнопку +Файл значок на панели инструментов в верхней части экрана. Введите ".htaccess" в поле ввода "Имя нового файла".
Нажмите Создать новый файл. Щелкните правой кнопкой мыши только что созданный файл, чтобы Редактировать это. Добавьте следующий код:
# BEGIN WordPress
RewriteEngine Включено
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 файл которые использует WordPress.
Сохранить файл перед закрытием окна.
7. Увеличение лимита памяти PHP
PHP - это язык программирования, который позволяет вашему сайту WordPress работать. Все операции, которые приводят к появлению содержимого на вашем сайте, являются операциями PHP (я немного упрощаю).
Эти операции PHP обычно требуют определенного времени и памяти для выполнения. Однако если ваш сервер не выделил достаточно ресурсов для этих операций, вы можете увидеть внутреннюю ошибку сервера HTTP 500.
Увеличение лимита памяти - отличный способ исправить ошибку во многих случаях.
Вы можете сделать это из панели хостинга. Перейдите в раздел cPanel делать то, что требуется.
В cPanel найдите опцию под названием Версия PHP или PHP Selector. Это название может немного отличаться от хоста к хосту. Например, на Namecheap опция, которую вы должны искать, называется Выберите версию PHP.
Далее введите Опции PHP или Опции.
В нем вы можете изменить значение рядом с лимит памяти. Просто выберите значение, которое на один уровень выше, чем то, которое вы выбрали в данный момент.
Не забудьте нажать кнопку Сохранить кнопка.
8. Обратитесь за помощью к своему хостинг-провайдеру
Ничего не помогло? Возможно, пришло время обратиться за помощью к своему хостинг-провайдеру.
Расскажите им обо всех шагах, которые вы уже предприняли для устранения ошибки. У вашего хостинг-провайдера должно быть еще несколько трюков в рукаве.
Заключение о внутренней ошибке сервера HTTP 500
Эта ошибка - одна из самых неприятных, с которыми вы когда-либо сталкивались на своем сайте WordPress.
Он не говорит вам, почему это произошло, что с этим делать, к тому же существует множество причин, которые могли это спровоцировать.
Поскольку точная причина ошибки всегда остается неизвестной, вы можете поочередно попробовать следующие решения и посмотреть, какое из них устранит ошибку:
- Очистите кэш браузера
- Проверьте журнал отладки WordPress
- Деактивируйте плагины и темы
- Перезагрузите основные файлы WordPress
- Регенерировать .htaccess файл
- Увеличьте лимит памяти PHP
Если ничего не помогает, лучше всего обратиться за помощью непосредственно к хостинг-провайдеру.
Если у вас есть вопросы о "внутренней ошибке сервера HTTP 500", сообщите нам об этом в разделе комментариев ниже.