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

Что такое 500 — ошибка Internal Server Error

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

Error 500

Что такое 500 ошибка

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

Возможные причины Internal Server Error

  1. Ошибки в логах сервера. Чтобы их выявить, необходимо провести техническую проверку сайта. В панели хостинга нужно найти файлы access.log (логи сервера) и error.log (ошибки логов).

логи сервера

ошибки логов

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

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

Выбираем изменить права

Проверяем права доступа

Рекомендуется устанавливать такие параметры доступа: 755 — для папок, 600 — для скриптов и 640 — для остальных файлов. В целях безопасности лучше, чтобы правами доступа к файлам и папкам обладал один человек. Автоматически этот параметр может измениться при восстановлении сайта либо загрузке новых файлов.

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

Деактивируем

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

Панель управления хостинга

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

Где можно работать с темами

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

Найдите .htaccess

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

После того, как он откроется, появится список параметров и директив. Обратите внимание, есть ли в этом списке директива Options. Поставьте перед ней знак #. В этом случае сервер будет воспринимать данную директиву, как комментирование, а не команду. Также можно заменить строку Options All -Indexes на Options -Indexes либо исправить строку Options +FollowSymLinks на Options +SymLinksIfOwnerMatch. Если эти шаги не помогут, попробуйте удалить параметры +ExecCGI, php_value, AddHandler, php_flag и директиву -MultiViews.

Если внесенные правки не помогают, удалите существующий файл .htaccess и создайте новый со стандартным синтаксисом. Вариант для WordPress:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Для сайтов на Joomla можно скачать код .htaccess в соответствии с выбранной версией данной CMS.

  1. Нехватка памяти для загрузки скриптов. Сервер обладает лимитированной памятью. К тому же количество мегабайт может быть ограничено со стороны хостинг-провайдера из-за выбранного бюджетного тарифа. Ошибка сервера 500 также может возникать из-за ограниченного времени для загрузки скриптов. Создается большое количество запросов к серверу, который не способен их обработать. Через некоторое время связь обрывается и появляется надпись Internal Server Error.

Проверить работу скриптов можно через соответствующие плагины. Например, Query Monitor в WordPress, JsCssManipulate в Joomla, либо через установку профайлера XHprof. Если это не помогло, попробуйте увеличить память через РНР. Для этого добавьте в конец файла .htaccess часть кода:

php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value max_execution_time 300
php_value max_input_time 300
php_value memory_limit 256M

Устанавливать объем памяти РНР можно и через панель хостинга.

Устанавливать объем памяти РНР можно и через панель хостинга

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

Проверяйте каждую по очереди

В этом же разделе можно изменить тип отображения ошибок на сайте. Установите флажок возле соответствующих пунктов.

Установите флажок возле соответствующих пунктов

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

какой файл дает сбой сервера

Другие варианты исправления ошибки 500 в WordPress

  1. Восстановление резервной копии. Этот вариант подходит при наличии созданной копии до поломки сайта. В панели управления хостингом доступны функции импорта/экспорта резервных копий сайта.

Функции импорта и экспорта резервных копий сайта

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

  1. Отладка системы. Для активации отладки нужно внести изменения в файл wp-config.php через файловый менеджер либо панель хостинга. Найдите в файле строку
define('WP_DEBUG', false);

и замените ее на:

// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings 
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 ); 

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );

Обновите сайт, после чего найдите каталог wp-content в панели хостинга или файловом менеджере и откройте редактирование файла debug.log. Откроется значение, в котором будет указан источник ошибки.

значение с источником ошибки

  1. Перезапись файлов WordPress. В этом случае информация о сайте сохраняется, а стандартные файлы WordPress перезаписываются. Для этого скачайте последнюю версию системы на компьютер и распакуйте ее. Создайте резервную копию сайта, удалите файлы wp-content и wp-config-sample.php из скачанной новой версии. Это делается для предотвращения потери информации о существующем сайте. Далее в файловом менеджере выделите старые файлы и замените их на новые из скачанной версии WordPress.

Старые файлы замените на новые из скачанной версии WordPress

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

Запомнить

Ошибка сервера 500 возникает по одной или нескольким причинам:

  • проблемы с логами сервера;
  • нарушение структуры файла .htaccess;
  • сбои в корневой файловой системе;
  • нехватка объема памяти для загрузки скриптов;
  • долгая загрузка файлов и скриптов;
  • конфликты после обновления CMS, установки плагинов и тем;
  • ошибки в правах доступа к файлам.

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

0
0
0
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (0 )

Последние комментарии

    Чтобы оставить комментарий, нужно войти

    Подписаться

    на самую полезную рассылку по интернет-маркетингу

    Самое

    обсуждаемое популярное читаемое

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