Внутренняя ошибка сервера HTTP 500: как исправить в WordPress

Опубликовано: 2024-05-06

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

Также известная как «ошибка HTTP 500», она может быть вызвана несколькими факторами, такими как конфликты между плагинами или темами WordPress, достижение предела памяти PHP, повреждение файла .htaccess , неправильная конфигурация сервера или неправильные права доступа к файлам и каталогам, среди прочего. другие причины.

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

Распространенные причины внутренней ошибки сервера 500

Основные определения:

  • «HTTP» относится к протоколу, используемому для связи между клиентом (вашим браузером) и веб-сервером.
  • «500» — код состояния, указывающий на внутреннюю ошибку сервера .

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

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

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

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

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

Исправление внутренней ошибки сервера на вашем веб-сайте — это наверняка плохой день, но, надеюсь, мы вместе исправим ее в кратчайшие сроки!

Вот как избавиться от ошибки, если вы столкнулись с ней на своем веб-сайте (под управлением WordPress):

1. Очистите кеш браузера

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

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

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

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

очистка кеша гугла

2. Проверьте журнал отладки.

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

Журнал отладки вашего веб-сайта должен содержать подробную информацию о «внутренней ошибке сервера HTTP 500» и может указывать на источник ошибки. Знание причины – половина победы.

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

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

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

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

файловый менеджер cpanel namecheap

В диспетчере файлов выберите папку public_html и найдите файл wp-config .php .

Щелкните правой кнопкой мыши файл и выберите параметр «Редактировать» . Файл откроется на другой странице.

отредактируйте wpconfile в файловом менеджере

Прокрутите файл конфигурации до конца и вставьте следующий код прямо перед этой строкой: /* That's all, stop editing! Happy blogging. */ /* That's all, stop editing! Happy blogging. */ /* That's all, stop editing! Happy blogging. */ :

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

Сохраните изменения и выйдите из файла.

Затем перейдите в public_html → wp-content → debug.log .

Откройте файл, щелкнув правой кнопкой мыши и выбрав опцию «Открыть» .

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

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

3. Деактивируйте плагины

Откройте свою учетную запись хостинга и перейдите в cPanel → Диспетчер файлов → public_html → wp-content → плагины .

Щелкните правой кнопкой мыши папку плагинов, выберите «Переименовать» и переименуйте папку в «plugins-off ». Это отключит все плагины.

переименовать файловый менеджер папки плагинов - внутренняя ошибка сервера http 500

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

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

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

Удалите этот плагин, щелкнув правой кнопкой мыши папку плагина и выбрав опцию «Удалить» .

4. Деактивируйте свою тему

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

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

Таблица параметров wp.

Откройте таблицу и нажмите «Поиск» в меню навигации вверху экрана. Введите « шаблон» в поле «Значение» , соответствующее столбцу option_name , и нажмите « Перейти» .

Поиск записи в таблице базы данных.

Это вернет одну запись из таблицы wp_options . Эта запись сообщает WordPress, какую тему использовать; в нашем примере тема двадцать двадцать .

Запись шаблона в базе данных WordPress.

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

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

5. Повторно загрузите файлы ядра.

Зайдите на wordpress.org и загрузите последнюю версию WordPress на свой локальный компьютер. Далее разархивируйте файл (это ВАЖНО ).

Вернитесь в свою учетную запись хостинга и снова в cPanel → Диспетчер файлов → public_html . Нажмите «Загрузить» , чтобы загрузить новую папку WordPress.

загрузить WordPress

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

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

6. Восстановите файл .htaccess.

Чтобы восстановить файл .htaccess , перейдите в public_html → .htaccess . Щелкните файл правой кнопкой мыши и нажмите кнопку «Загрузить» , чтобы загрузить существующий файл на локальный компьютер в качестве резервной копии.

Щелкните правой кнопкой мыши еще раз и нажмите кнопку «Удалить» , чтобы удалить файл.

Нажмите значок +Файл на панели инструментов в верхней части экрана. Введите « .htaccess » в поле ввода «Новое имя файла».

добавить символ файла в файловый менеджер - внутренняя ошибка сервера http 500

Нажмите «Создать новый файл» . Щелкните правой кнопкой мыши вновь созданный файл, чтобы отредактировать его. Добавьте следующий код:

 # 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 , который использует WordPress.

Сохраните файл, прежде чем закрыть окно.

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

PHP — это язык программирования, который позволяет запускать ваш сайт WordPress. Все операции, в результате которых контент отображается на вашем сайте, являются операциями PHP (я немного упрощаю).

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

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

Вы можете сделать это из панели хостинга. Вернитесь в cPanel, чтобы сделать то, что необходимо.

В cPanel найдите опцию PHP Version или PHP Selector . Это имя может немного отличаться от хоста к хосту. Например, на Namecheap опция, которую вам следует искать, называется «Выбрать версию PHP» .

выберите версию PHP cpanel namecheap - внутренняя ошибка сервера http 500

Затем введите «Параметры PHP» или «Параметры» .

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

установить новый предел_памяти

Не забудьте нажать кнопку «Сохранить» .

8. Обратитесь за помощью к своему хостинг-провайдеру.

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

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

Заключение по внутренней ошибке сервера 500

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

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

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

  • Очистите кеш браузера
  • Проверьте журнал отладки WordPress
  • Деактивировать плагины и темы
  • Перезагрузите основные файлы WordPress.
  • Восстановите файл .htaccess.
  • Увеличьте лимит памяти PHP

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

Если у вас есть какие-либо вопросы по поводу «внутренней ошибки сервера HTTP 500», сообщите нам об этом в разделе комментариев ниже.

Ура! Вы дочитали статью до конца!