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

1 min


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

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

Общие HTTP-коды состояния и ошибок

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

100x Ответ (Статус)

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

200x Response (Успех)

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

Наиболее распространенный успешный код известен как 200 ОК. Вы можете увидеть примеры этого, если вы используете инструмент тестирования скорости WordPress, скажем, на Pingdom Tools, и вы пытаетесь найти FTTB (первый раз в байтах). Ответ 200 OK всегда дается на первый сделанный запрос.

300x Ответ (Перенаправления)

Перенаправление ребята. Эти коды всегда указываются, если данная ссылка идет в перенаправление. 300 кодов состояния указывают на успешное перенаправление, а также, не считается ошибкой.

Скажем, у вас есть сайт SSL (HTTPS), и у вас также есть прямой доступ к HTTP (незащищенному), и вы хотите перенаправить всех на версию HTTPS вашего сайта. Вы можете создать перенаправление для всех запросов, поступающих от HTTP, на HTTPS. Если вы случайно попытаетесь зайти на ваш сайт по HTTP, ваш браузер получит ответ 300, указывающий на перенаправление на версию HTTPS.

Простые советы по WooCommerce: Yoast SEO перенаправляет на товары, которых нет в наличии

Другой распространенный пример, с которым вы, возможно, знакомы, – это перенаправление на сайт для SEO. Возможно, вы удалили старые сообщения или страницы. С помощью плагина, такого как Yoast SEO, вы можете перенаправить их на более новые, более релевантные страницы. Или используйте временное перенаправление 307, если вы работаете над обновлением и хотите на некоторое время перенаправить пользователей на другую страницу.

400x Response (Ошибки клиента)

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

Та же самая ошибка может быть показана, если вы попытаетесь получить доступ к несуществующему изображению на вашем сайте. Например, вы можете использовать перенаправление 410, чтобы сообщить поисковым системам, что контент был удален навсегда, или 451, если вы сделали страницу недоступной по юридическим причинам (например, запрос DMCA).

500x Response (ошибки сервера)

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

  • Служба 503 недоступна
  • Ошибка 502 шлюза
  • Внутренняя ошибка сервера 500

Давайте рассмотрим 3 из них в порядке важности.

сервис 503 недоступен

Наименее серьезным является сервис 503, недоступный. Если эта ошибка появляется, у вас есть проблема с ресурсами на веб-сервере. Почти все время это проявляется, когда ваш сервер перегружен. Проще говоря, если вы видите эту ошибку, знайте, что это временно и это напрямую связано с Большие пробки а это перегрузка процессора. Всякий раз, когда ЦП и сам веб-сервер не могут обрабатывать больше входящих подключений, поскольку они достигли 100% загрузки ЦП, вы увидите это всплывающее сообщение об ошибке.

Это можно исправить, либо переключившись на лучший веб-сервер (например, с Apache на Nginx), либо внедрив на свой сайт плагин кеширования WordPress.

502 Неверный шлюз

Это то, что я назвал ошибкой неверной конфигурации. Эта ошибка не появляется без причины. Если у вас когда-либо возникла эта ошибка, наиболее вероятной причиной является то, что Вы сделали что-то, и вы сделали это неправильно. Обычно это происходит, когда люди пытаются настроить конфигурацию Apache и PHP или когда пытаются оптимизировать nginx. Плохой шлюз – это ошибка, которая почти всегда возникает, когда PHP FPM (Fast Process Manager) теряет соединение. Либо из-за неправильной настройки, либо из-за сбоя процесса. Это заставляет веб-сервер отвечать плохой шлюз.

Самый простой способ исправить эту ошибку – дважды проверить конфигурацию PHP-FPM, так как это наиболее вероятная причина этой ошибки. Это происходит чаще на стороне Nginx, чем на Apache, и почти никогда не происходит на хостинговых сервисах, предоставляемых cPanel или Plesk. Эти последние две панели имеют меры безопасности для предотвращения ошибки неверной конфигурации. Но это происходит очень часто при управлении вашим собственным VPS.

Ищете больше помощи с этим? Следуйте нашему руководству о том, как исправить ошибку 502 неисправного шлюза.

500 – внутренняя ошибка сервера

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

Причины 500 внутренних ошибок сервера и как их исправить

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

  • Перенос старого сайта на новый хостинг
  • Ошибка в .htaccess в конфигурации apache
  • Ошибка в выполнении кода PHP

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

1. Перенос старого сайта на новый хостинг

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

Эта ошибка является классической, например, когда вы переносите свой сайт с посредственного хостинга со старой версией PHP на более новый хостинг, который принимает только более новые версии (7.0 и выше). Если ваш сайт недавно не обновлялся, старый плагин может вызывать проблемы. Я называю это «миграцией внутренней ошибки сервера», потому что это почти всегда происходит, когда вы переносите сайт.

Решение

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

Эти ошибки почти всегда проявляются при переносе старых сайтов, работающих на PHP 5.4 и 5.6, на новый хостинг с PHP 7.0, 7.1 или 7.2.

То же самое относится и к вашей теме. Поскольку темы могут реализовывать дополнительный PHP-код в functions.php, single и page.php файлы. Скорее всего, старая тема без обновлений может привести к поломке вашего сайта после перехода на хостинг с более новой версией PHP. Такая ситуация вызывает сожаление, поскольку единственный способ исправить это – изменить тему и перестроить ваш сайт. Это худший вариант развития событий.

2. Ошибка конфигурации Apache .htaccess

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

Так как apache можно изменить в настоящее время путем настройки функций в файле .htaccess (который почти всегда скрыт) плохая конфигурация может сломать ваш сайт.

Решение

Чтобы исправить это, зайдите на ваш сайт через FTP и измените файл .htaccess, либо с помощью прямого редактирования, например, с помощью проводника на cPanel или Plesk.

Если вы не знаете, как восстановить созданный плагин, и вам нужен ваш сайт снова, сделайте копию существующего содержимого в виде текстового файла. Сохраните это как резервную копию. Затем замените весь .htaccess следующим кодом:

# НАЧАТЬ WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^ index  .php $ - [L]
RewriteCond% {REQUEST_FILENAME}! -F
RewriteCond% {REQUEST_FILENAME}! -D
RewriteRule. /index.php [L]


# END WordPress

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

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

3. Ошибка выполнения PHP-кода

Эти типы ошибок встречаются чаще, чем вы думаете, и они обычно происходят, если плагин выполняет неверный код. Наиболее распространенный способ выполнения неверного кода – это когда вы пытаетесь выполнить устаревшие инструкции. Возможно, вы пытаетесь запустить старый плагин, который был разработан только для работы с PHP до 5.4 или 5.6 с PHP 7.0 или более новыми версиями. Устаревшие и недействительные функции создаст внутреннюю ошибку сервера, которая может быть диагностирована только Включение режима WP Debug.

Включить wp_debug

Режим отладки WordPress предоставит вам подробные сведения об ошибке, которая вызвала остановку выполнения. То, как мы включаем его, изменяя значение с «Ложь» к «истине» на wp_debug внутри файла WP-config.php в корневой папке вашего сайта.

Если вы используете Plesk или cPanel, вы можете сделать это, просто изменив это значение с помощью Проводника и отредактировав WP-config.php, Как только файл будет отредактирован, вы сможете увидеть фактическую генерируемую ошибку, которая остановила выполнение. Ошибка также будет указывать путь и файл, где это произошло, поэтому легко угадать, какой плагин вызвал это. От отключить его мы можем пропустить ошибку, а затем обновить плагин или удалить его, в зависимости от ситуации.

Решение

Подавляющее большинство случаев 500 внутренних ошибок сервера включает в себя старые версии темы или плагины, Переключив свою тему на любую стандартную тему WP, вы сможете восстановить доступ к своему сайту. Отключение конфликтующих плагинов также вернет вам доступ к панели инструментов. Если вы столкнулись с ситуацией, в которой ваша тема ответственна за взлом сайта, лучший способ исправить это – создать zip-файл указанной темы из папки темы. WP-содержание / темы / yourtheme затем удалите его с вашего сайта. Это позволит устранить ошибку, чтобы вы могли восстановить доступ к своему сайту. Затем вы можете повторно загрузить его и обновить, не активируя. Вы можете сделать то же самое с плагинами.

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

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

Завершение руководства по внутренним ошибкам сервера WordPress 500

Внутренняя ошибка сервера WordPress 500 может быть настоящей болью. Но в большинстве случаев их можно легко диагностировать и исправить, просто удалив / обновив конфликтующие части вашего сайта. Хотя могут быть ситуации, когда эти ошибки представляются за пределами нормы (например, когда вы разрабатываете плагин), это выходит за рамки цели этой статьи.

Для подавляющего большинства людей, следуя приведенным выше советам, следует решить вашу проблему. Помните, что wp-debug – ваш лучший друг, и всегда внимательно следуйте инструкциям. Ваш сайт снова будет в сети в кратчайшие сроки.

Есть еще вопросы? Или советы по устранению внутренней ошибки сервера WordPress 500? Дай мне знать!


0 Comments

Добавить комментарий