500 request failed with status code 500 что это
Что такое ошибка 500 и когда она возникает
Пользователи интернета и владельцы сайтов периодически сталкиваются с различными ошибками на веб-страницах. Одной из самых распространенных ошибок является error 500 (ошибка 500). Поговорим в нашей статье о том, что это за ошибка и как ее исправить.
Где и когда можно встретить ошибку 500
Вы можете увидеть ошибку на любом веб-ресурсе, браузере и устройстве. Она не связана с отсутствием интернет-соединения, устаревшей версией операционной системы или браузера. Кроме того, эта ошибка не указывает на то, что сайта не существует или он больше не работает.
Отображаться ошибка может по-разному. Вот пример:
Если ошибка появилась на вашем сайте, то нужно скорее ее исправлять. Далее я расскажу, как это можно сделать.
Причины возникновения ошибки
Итак, ошибка 500 возникает, когда серверу не удается обработать запрос к сайту. Из-за этого пользователи не могут попасть на сайт, а поисковые системы полноценно с ним работать. Очевидно, что ошибка нуждается в исправлении. В первую очередь необходимо найти проблему.
Основной причиной ошибки 500 может быть:
Год хостинга в подарок при заказе лицензии 1С-Битрикс
Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой.
Как получить больше данных о причине ошибки
Что означает ошибка 500, мы теперь знаем. Когда она перестала быть таким загадочным персонажем, не страшно копнуть глубже — научиться определять причину ошибки. В некоторых случаях это можно сделать самостоятельно, так что обращаться за помощью к профильному специалисту не понадобится.
Самые частые причины ошибки 500 можно распознать по тексту ошибки или внешнему виду страницы.
Давайте узнаем, что скрывается за пустой страницей, обратившись к инструментам разработчика. Эта браузерная панель позволяет получить информацию об ошибках и другие данные (время загрузки страницы, html-элементы и т.д.).
Как открыть панель разработчика
Более детальную диагностику можно провести с помощью логов.
Как вы видите, данных в логи записывается немало, поэтому они разделены по типам. За сведениями о нашей ошибке можно обратиться к логам ошибок (error_log). Обычно такие логи предоставляет служба поддержки хостинга, на котором размещен сайт. В Timeweb вы можете включить ведение логов и заказать необходимые данные в панели управления. Разобраться в полученных логах поможет статья «Чтение логов».
Как устранить ошибку
Теперь поговорим о том, как исправить ошибку 500. Вернемся к популярным причинам этой проблемы и рассмотрим наиболее эффективные способы решения.
Ошибки в скриптах сайта
Скрипт не запускается
Обычно это происходит, когда существует ошибка в скрипте или функция, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете.
Не хватает оперативной памяти
Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией.
Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность купить хостинг помощнее.
Ошибки в CMS
Если код CMS содержит неверный синтаксис, это может вывести сайт из строя. В таком случае логи сообщат вам об ошибке 500 текстом «PHP Parse error: syntax error, unexpected». Так происходит, когда некорректно работает плагин (или тема, используемая в CMS, но реже) либо есть ошибки в коде. Ошибка может быть допущена случайно, произойти при обновлении плагина или версии CMS.
При чтении логов обратите внимание на путь, который следует за сообщением об ошибке, ведь он может указать на проблемную часть кода или плагин. Если проблема в плагине, для восстановления работы сайта переименуйте на время папку, в которой он расположен. Попробуйте обновить плагин или откатить его до прежней версии. Если ситуацию не удается исправить, от расширения стоит отказаться либо заменить его аналогом.
Также в большинстве случаев подобные проблемы помогает решить поддержка CMS.
Информацию о других распространенных ошибках вы можете найти в статье «6 наиболее часто возникающих ошибок HTTP и способы их устранения».
Причины внутренней ошибки сервера «500» и способы её решения
Сейчас читают:
В некоторых случаях, при попытке перейти на нужный интернет-ресурс, браузер выдает системное сообщение (статус) с кодом «500», о котором свидетельствует надпись «500 Internal Server Error» («500 внутренняя ошибка сервера»).
Код ошибки означает внутренние проблемы с сервером, которые необходимо диагностировать. Произошел сбой работы или нарушена конфигурация системы.
В случае подобной ошибки не обязательно сразу писать в техническую поддержку. Можно попробовать решить эту проблему самостоятельно.
Внутренняя ошибка сервера не всегда свидетельствует о сбое сервера, поскольку указывает на результат, к которому могут привести разные причины.
Что способствует возникновению ошибки 500
Как диагностировать ошибку 500
Для диагностики внутренней ошибки сервера с кодом 500 необходимо проверить содержимое файла « error.log », находящийся в корне сайта или в каком-либо другом месте, которое зависит от настроек сервера.
Способ доступа к файлу зависит от того, находится ли сайт на веб-хостинге или размещён на выделенном/физическом сервере.
Этот метод позволяет выяснить причину возникновения ошибки и за короткий промежуток времени устранить ее. После проведения диагностики можно воспользоваться одним из нижеописанных способов решения проблемы.
Права доступа к директориям и файлам
Отсутствие необходимых прав доступа к объектам файловой системы (директориям и файлам) довольно часто приводит к ошибке со статусом «500». При переносе сайта на другой хостинг или изменении его структуры (добавлении новых элементов) пользователь забывает изменить права доступа.
Решение № 1 — изменение прав
Для доступа к файловой системе сервера можно использовать бесплатный клиент FileZilla. Его необходимо установить, а затем запустить.
Алгоритм изменения атрибута файла (папки)
Рекомендуемые числовые значения для файлов — « 644 » и директорий — « 755 ». Необходимо пересматривать и изменять права отдельно для каждого объекта файловой системы. Этот подход позволит избежать ошибок.
Если изменение прав доступа не привело к положительному результату, а при открытии сайта снова появляется ошибка 500, то следует попробовать другой способ решения проблемы.
Решение № 2 — перезагрузка сервера
При размещении ресурса на базе физического или виртуального выделенного сервера (VPS) может иногда возникать ошибка 500. Если страница временно недоступна и браузер выдает ошибку с кодом «500», а изменения прав доступа были испробованы, то нужно просто перезагрузить сервер.
Решение № 1 — исправление кода
Для поиска существует специальный алгоритм последовательного запуска директив, содержащихся в файле. Его нужно скачать на локальный компьютер, а затем открыть в текстовом редакторе.
Методика выявления неверного кода
Вышеописанного алгоритма достаточно для выявления неверного кода. Однако бывают ситуации, при которых код, на первый взгляд, написан верно, а директивы не поддерживаются хостингом. Тогда нужно попробывать второй вариант решения проблемы.
Решение № 2 — замена символов
Алгоритм нахождения
Долгое выполнение скриптов
Решение № 1 — оптимизация PHP-скрипта
Чтобы оптимизировать PHP-скрипт, необходимо его переписать без лишнего кода. В интернете существует несколько сервисов для выявления избыточного кода.
Эта задача под силу опытному программисту. Новичку рекомендуется работать со скриптом, тестируя его на локальном сервере, а затем загрузить на хостинг.
Решение № 2 — увеличение времени обработки
Если используется веб-хостинг, то выполнить эту операцию не получится. В этом случае необходимо связаться с технической поддержкой.
Ошибка в коде CGI-скрипта
Скрипт CGI-типа используется для создания интерактивных страниц, контент которых зависит от действий пользователя. Довольно часто при неверной работе со скриптами этого типа на сайте возникает внутренняя ошибка сервера с кодом «500».
Решение № 1 — проверка формата окончания строк
Для проверки символа, содержащегося в конце каждой строки, используется специальный редактор (например, Notepad++ или любой другой с поддержкой отображения символов табуляции).
Решение № 2 — установка прав доступа
Одной из причин неправильной работы CGI-скриптов является некорректное разрешение прав доступа. Для директории, в которой хранятся CGI-файлы, должны стоять права с числовым значением « 755 ».
Решение № 3 — неверные HTTP-заголовки
В некоторых случаях ошибка возникает из-за некорректных HTTP-заголовков. Для ее диагностики следует проверить файл « error.log ».
Превышение лимита выделенной памяти
Некоторые хостинг-компании, чтобы избежать перегрузки сервера, устанавливают определенный лимит памяти, используемой скриптами. В результате превышения этого ограничения возникает внутренняя ошибка сервера с кодом состояния «500».
Решение № 1 — проверка PHP-скриптов
Чтобы проверить PHP-скрипты, следует скачать на локальный компьютер исходник сайта, а затем протестировать его на работоспособность.
Затем требуется проверить описание функций (структуру и код) и включить опцию показа ошибок в « php.ini ».
Опции для тестирования
В файле конфигурации нужно указать вышеописанные параметры без точек.
Если проблем в файле нет, а сообщение об ошибке «500» выводится на экране, необходимо перейти ко второму способу решения проблемы.
Решение № 2 — изменение настроек
Настройка лимита памяти выставляется в файле конфигурации « php.ini ». За этот параметр отвечает опция « memory_limit ».
При использовании VPS она устанавливается экспериментальным путем. После каждого изменения файл загружается на сервер, а затем тестируется работа сайта. Однако нужно помнить об ограничении использования памяти со стороны поставщика услуги.
Решение № 3 — связаться с технической поддержкой
Если ошибка «500» не исчезает при правильной работе скрипта и верных настройках, то нужно связаться с технической поддержкой. Как правило, они помогают исправить проблему.
Некорректная работа CMS
Причиной появления ошибки «500» могут стать неверные настройки CMS. Наиболее часто используются WordPress и Joomla. Следовательно, на их примере и нужно разобрать причины возникновения проблемы, а также решения по ее устранению.
Ошибка «500» в WordPress
Файл используется при изменении структуры ссылок и работе плагинов. Кроме того, в него могут вносить изменения ядро CMS, темы и плагины.
Выполнение диагностики
Последний пункт влияет на активацию плагинов. Его рекомендуется рассматривать как временную меру.
Решение № 2 — смена текущей темы
Для устранения ошибки «500» рекомендуется поменять тему на другую, а затем обновить страницу. Если сайт заработал, то причина в ней. В противном случае нужно перейти к третьему варианту решения проблемы.
Решение № 3 — перебор плагинов
При расширении функциональности сайта пользователи используют соответствующие плагины, которые могут стать причиной внутренней ошибки сервера. Для диагностики неработающего компонента нужно последовательно деактивировать каждый из плагинов.
Порядок деактивации плагина
Если деактивация плагинов не привела к положительному эффекту, и сайт по-прежнему не работает, то нужно перейти к четвертому методу.
Решение № 4 — модификация конфигурационного файла
Устранить проблему внутренней ошибки сервера поможет увеличение объема памяти.
Алгоритм модификации
Решение № 5 — обновление CMS
Если ни один из методов не помог, то причина заключается в ядре движка CMS. Для устранения ошибки его нужно обновить до последней версии или переустановить.
Ошибка «500» в CMS Joomla
Ошибка с кодом «500» иногда возникает при попытке зайти в административную панель CMS Joomla. При этом сайт и все его функции работают корректно.
Ошибку нужно искать самостоятельно, перебирая каждый из вариантов. В файле « error.php », который расположен в директории « logs », находится описание всех проблем при работе с CMS.
Решение № 1 — установка прав на «logs»
Чтобы устранить проблему, нужно установить права доступа на папки « logs » и « tmp », которые должны соответствовать числовому значению « 777 ».
Решение № 2 — корректность путей к директориям «logs» и «tmp»
Пути к директориям хранятся в файле « configuration.php ». Необходимо проверить их правильность, указав при необходимости полные пути.
Если, после реализации предложенных методов исправления ошибки «500», сайт на хостинге по-прежнему не работает, необходимо обращаться к техподдержке хостинг-провайдера.
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Исправляем внутреннюю ошибку сервера «HTTP Internal Server 500 ERROR» и получаем доступ к любимому сайту
Ошибка: «500 Internal Server Error» – популярная проблема, с которой сталкивался практически каждый проектировщик сайтов. Основная причина возникновения проблемы – некорректная работа сервера. Но может ли «http 500 ошибка» появиться из-за проблем с браузером? По каким именно причинам она возникает? И как с ней бороться? – Ниже мы узнаем ответы на эти вопросы.
Описание неполадки и причины возникновения
Ошибка: «500 Internal Server Error» – это внутренняя неполадка, которая возникает из-за некорректной работы удаленного сервера. Механизм этой проблемы следующий:
Основные причины возникновения неполадки:
Чаще всего ошибка 500 отображается в виде надписи: «Internal Server Error» на белом фоне. Однако иногда текст надписи может быть другим:
Способы исправления
Рассмотрим основные способы устранения ошибки – «http 500 Internal Server» в зависимости от причин ее возникновения.
Проверяем доступ в интернет, перезапускаем браузер
В редких случаях временная ошибка (500) возникает из-за серьезных проблем с браузером или некорректного подключения к интернету. Решение:
Обновляем CMS-модуль
В редких случаях проблема возникает из-за того, что вы пользуетесь старой версией CMS-модуля. Решение неисправности будет тривиальным – вам нужно просто обновить свой модуль. Метод обновления CMS-модуля напрямую зависит от его типа, однако обычно для обновления нужно просто открыть консоль администрирования и найти блок работы с обновлениями.
Например, в случае «Wordpress» – вы проходите авторизацию и открываете вкладку «Updates» – если есть неустановленные обновления, то сверху должна появиться строка «Please Update Now».
Проверяем права доступа
Достаточно часто неполадка возникает из-за некорректных прав доступа. Например, если разрешить всем пользователям вносить исправления в скрипт-обработчик, то сервер автоматически заблокирует такой сайт. Поэтому нужно обязательно проверить права доступа к каждому файлу – например, с помощью файлового менеджера «FileZilla»:
Проверяем файл «.htaccess»
Ошибка «http 500» на сайте может возникнуть из-за некорректной конфигурации файла «htaccess», который находится в корневом каталоге вашего сайта. Исправить этот файл можно двумя способами:
Анализируем скрипт-обработчик
Скрипт может обрабатывать внешние запросы в течение ограниченного времени – в противном случае он прекращает работу и возвращает ошибку «http 500». Но есть решение:
Тестируем плагины
Внутренняя ошибка «http сервера – 500» может возникнуть из-за некорректной работы плагинов, а также из-за несовместимости плагинов между собой. К сожалению, универсального рецепта решения проблемы в данном случае нет. Для устранения неисправности нужно вручную по одному отключать плагины и проверять работоспособность сайта.
После установления источника проблемы нужно либо изменить формат работы плагина, либо отключить его полностью. Можно попробовать его обновить или переустановить вручную, заранее перед этим скачав его с официального сайта.
Как исправить ошибку 500 Internal Server Error
Разбираемся, что означает ошибка 500, из-за чего она может возникнуть и что делать, чтобы убрать её с сайта.
Что внутри
Что такое ошибка 500
Ошибка 500 Internal Server Error — это код состояния HTTP, один из стандартных ответов сервера на запрос браузера. Примеры других кодов HTTP: 403 Forbidden, 404 Not Found или 503 Service Unavailable.
Сервер отправляет один из таких кодов каждый раз, когда в браузере открывают новую страницу или переходят по ссылке. Даже когда никакой ошибки не было и страница нормально загрузилась.
Конкретно этот код HTTP — 500 Internal Server Error — означает, что сервер не смог выполнить запрос из-за непредвиденной ошибки.
Как может выглядеть ошибка 500
Дизайн страницы с 500 ошибкой будет отличаться в зависимости от разных факторов: вашего браузера, веб-сервера, панели управления хостингом, операционной системы, а также движка или фреймворка, на котором работает сайт.
Например, вот так выглядят стандартные страницы 500 ошибки четырёх популярных веб-серверов: Apache, Nginx, LiteSpeed и IIS 7.
Когда что-то не так с параметрами PHP или правами на файлы и папки, в Google Chrome 500 ошибка будет оформлена в фирменном стиле браузера, а в Firefox будет пустая страница — «белый экран смерти».
Когда на сайте с WordPress есть проблема со скриптом — написан с ошибкой или в нём пропущен символ — тоже возникнет ошибка 500:
Также страницу с 500 ошибкой иногда оформляют в общем дизайне сайта. Вот так, например, выглядит страница с такой ошибкой на сайте YouTube:
Это не все варианты, а только самые популярные. В зависимости от того, какое ПО вы используете, оформление страницы с ошибкой может быть и другим.
Текст на странице тоже может отличаться. Вот некоторые варианты, с которыми вы можете столкнуться:
Почему возникает ошибка 500
Как вы уже поняли, ошибка 500 — это собирательное сообщение, которое возникает, когда что-то не сработало, как ожидалось. Такой обобщённый ответ используют, потому что заставить сервер сломаться могут тысячи разных вещей и невозможно предусмотреть отдельную страницу для каждого случая.
Проще всего посмотреть в логи сервера, чтобы найти причину возникновения 500 ошибки. Но вообще, вот несколько распространенных ситуаций, в которых она возникает:
Как 500 ошибка влияет на SEO
Если на сайте возникла 500 ошибка, важно исправить её как можно быстрее, потому что из-за неё страницы могут исчезнуть из результатов поиска.
Когда поисковый робот заходит на страницу и видит 500 ошибку, он пробует зайти на страницу ещё раз в пределах суток, рассчитывая на то, что владелец сайта решит проблему. Но если при повторном посещении снова будет код ответа сервера 500, бот уже может исключить страницу из индекса.
Проверить, выпала ли страница из индекса, можно в Google Search Console. Для этого войдите в консоль, введите в строке поиска URL страницы и нажмите Enter. Сервис проверит страницу и покажет её статус. Если страницы уже нет в индексе, нажмите «Запросить индексирование», чтобы повторно её туда добавить.
Также Search Console поможет вам своевременно обнаруживать ошибки. Для этого просто периодически проверяйте раздел «Покрытие» на главной странице панели в меню слева. В него будут записываться все ошибки на сайте.
Как исправить ошибку 500
Если вы столкнулись с ошибкой как посетитель, ваша единственная опция описана в первом совете. Для остальных советов понадобится доступ на хостинг.
Советы в этом разделе описывают не все ситуации, из-за которых может возникнуть 500 ошибка, а только наиболее популярные. Если ничего из перечисленного выше не поможет, в конце статьи есть рекомендация, что делать.
1. Очистите кэш и обновите страницу
Бывает, 500 ошибка возникает в моменте и пропадает при повторной загрузке страницы. При этом иногда она кэшируется, поэтому кэш на всякий случай стоит очистить. Вот как сделать это в популярных браузерах:
У нас на YouTube-канале также есть видеоинструкция: Как очистить кэш.
2. Проверьте логи
Так вы сразу увидите причину ошибки, вместо того чтобы перебирать все возможные варианты. Если вы не сильно разбираетесь, попробуйте сначала советы ниже. А уже если ничего не сработает, придётся возвращаться к этому варианту.
В зависимости от того, какой веб-сервер используется у вас на хостинге, по умолчанию логи будут храниться по таким путям:
Логи могут храниться и в других местах. Например, панели управления хостингом часто меняют стандартный путь их расположения:
Важный нюанс — доступ к общим логам будет только на VPS-хостинге или выделенном сервере. На виртуальном хостинге будет свой файл error_log. По умолчанию он создаётся в той же папке, где лежит скрипт, выполнение которого привело к 500 ошибке. Но разные CMS могут переопределять путь к этому файлу в другие папки.
Плюс в этот файл попадают только ошибки PHP. Ошибки веб-сервера попадут в основные логи, к которым не будет доступа. Так что, если у вас виртуальный хостинг и в логах с ошибками PHP пусто, свяжитесь с поддержкой провайдера и попросите их посмотреть основные логи. Пусть пришлют последние строки оттуда.
Вы также можете включить опцию display_errors, чтобы причина ошибки из логов отображалась на сайте. В панели управления cPanel для этого нужно найти на главной странице панели раздел «Программное обеспечение» и открыть приложение «Выбор версии PHP».
Дальше перейдите на вкладку «Настройки» и поставьте галочку в строке «display_errors». Изменения сохранятся автоматически.
На VPS или выделенном сервере добавьте такую директиву в основной файл php.ini:
После этого текст из логов будет выводиться на экран. Сначала в нём будет причина ошибки, а потом её объяснение. Например, путь к файлу с номером строки, на которой эта ошибка находится. Вот пример такого сообщения.
В этом случае 500 ошибка возникла из-за того что серверу обязательно нужно открыть файл version.php (слово «require» в самом начале), как указано на 33 строке в файле wp-settings.php, но прав для открытия этого файла нет (слова «Permission denied»).
3. Проверьте глобальные конфигурационные файлы
Если у вас виртуальный хостинг, беспокоиться не о чем. За настройку этих файлов отвечает хостинг-провайдер и вероятность возникновения ошибки из-за проблемы с этим файлом стремится к нулю.
Если у вас VPS или выделенный сервер, вы сами отвечаете за настройку этих файлов. И в этом случае 500 ошибку может вызвать случайная опечатка или конфликтующие директивы.
У веб-сервера Apache конфигурационные файлы хранятся в таких местах:
У веб-сервера Nginx конфигурационные файлы хранятся в таких местах:
Если вы управляете сервером при помощи какой-то панели управления, конфигурационные файлы могут храниться в других папках. Например, для Webuzo это /usr/local/apps/apache, а для Plesk — /home/user/conf/.
Этот файл будет в корневой папке домена на любом хостинге с веб-сервером Apache. Даже если вы никогда не редактировали его, в файле всё равно может быть ошибка. Например, такое бывает с сайтами на WordPress: при установке плагинов они сами добавляют нужные директивы в файл, из-за чего иногда возникают конфликты с предыдущими директивами и возникает 500 ошибка.
5. Проверьте права доступа к папкам и файлам
Ошибка 500 Internal Server Error часто возникает, потому что у веб-сервера нет доступа к какой-то папке или файлу, из-за чего он не может выполнить скрипт. Дело может быть в том, что у файла или папки в принципе нерабочие права, а может в том, что файлом или папкой владеет один пользователь, а веб-сервер выполняет процессы от имени другого; у владельца права есть, а у веб-сервера нет.
Изменить владельца можно в командной строке при помощи команды chown:
Изменить права можно либо при помощи FTP-клиента вроде FileZilla, если вы таким пользуетесь, либо при помощи менеджера файлов в панели управления хостингом. Вот как сделать это в cPanel.
На главной странице панели найдите блок «Файлы» и перейдите в раздел «Менеджер файлов».
Выделите нужный файл или папку и нажмите в верхней панели кнопку «Права». Вот стандартные значения, с которыми всё должно работать:
Если привыкли работать с файлами в командной строке, вот команда, которая поможет изменить права:
6. Проверьте базу данных
Ошибка Internal Server Error ещё возникает, когда сервер не может подключиться к базе данных. Текст ошибки в этом случае будет «Error establishing a database connection», но в логах будет код ошибки 500.
Чаще всего сервер не может подключиться к базе данных из-за того, что в файле с деталями базы указан неправильный логин или пароль. Такое может произойти, если вы или ваш программист поменяли детали, но случайно забыли обновить их в файле. Расположен этот файл обычно в корневой папке сайта и в его названии есть слово config. Например, для сайтов на WordPress это wp-config.php, а для сайтов на OpenCart — config.php.
Также дело может быть в том, что MySQL-сервер перегружен из-за большого количества посетителей. Такое часто бывает на виртуальном хостинге, где для каждого пользователя ограничено количество одновременных подключений к базе.
Запросов к базе данных может стать больше по мере естественного роста трафика на сайт. Это обычно значит, что нужен более мощный хостинг. Либо запросы могут быть вредоносными и тогда нужно просто от них отбиться. Проверить нагрузку можно при помощи команд SHOW GLOBAL STATUS, VMSTAT или TOP. Если не разбираетесь, обратитесь за помощью к разработчику сайта или поддержке вашего хостинг-провайдера.
Ещё ошибку Error establishing a database connection может вызвать повреждение в базе данных. По мере того как вы наполняете свой сайт контентом, устанавливаете темы и плагины, оптимизируете при помощи разных инструментов, что-то важное может случайно удалиться, из-за чего база и перестанет работать. В этом случае решением будет восстановить резервную копию, если она есть.
7. Проверьте использование ресурсов на сервере
Любое действие на сайте запускает на сервере процесс. Если их будет слишком много и все ресурсы окажутся заняты, начнёт образовываться очередь. Может выйти так, что очередь станет слишком длинной и новые процессы станут вытеснять старые. В результате какой-то важный процесс может не выполниться и возникнет 500 ошибка.
Если у вас виртуальный хостинг, вы не можете управлять процессами — это задача провайдера. Но, возможно, сможете оценить загруженность сервера в своей панели управления. В cPanel это можно сделать в блоке «Статистика» на главной странице панели справа:
При полной загруженности сервера вы можете связаться с провайдером и попросить их завершить некоторые процессы. Но на таком хостинге они обычно связываются с клиентами сами, когда замечают у них много тяжелых процессов, поскольку это может влиять на работу других сайтов на сервере.
Если у вас VPS или выделенный сервер, вы сами управляете процессами. Их можно посмотреть при помощи команды top, и при необходимости завершить некоторые из них, используя команду:
Если покупали хостинг у нас, напишите нам письмо с деталями вашего хостинга и описанием проблемы. Наши специалисты взглянут на процессы и подскажут, что можно сделать.
8. Проверьте параметры PHP max_execution_time и memory_limit
Эти параметры регулируют поведение сервера при обработке PHP скриптов, чтобы он не зависал и не тратил на обработку все ресурсы. Параметр max_execution_time — это время в секундах, в течение которого скрипт должен выполниться. А memory_limit — это количество памяти PHP, которое сервер может выделить для выполнения скрипта.
Стартовых значений этих параметров может не хватать, чтобы сервер выполнил важные скрипты, из-за чего он будет вынужден отправить браузеру 500 ошибку.
Один из способов увеличить значения этих параметров — в панели управления хостингом. В cPanel для этого нужно найти на главной странице панели раздел «Программное обеспечение» и открыть приложение «Выбор версии PHP».
Дальше перейдите на вкладку «Настройки», найдите указанные параметры и увеличьте их значения. Настройки сохраняются автоматически.
9. Проверьте PHP-скрипты на ошибки
Самые распространённые ошибки — это опечатки: пропущена буква, точка с запятой или скобка. Также может быть такое, что в скрипте стоит ссылка на файл, но самого файла по указанному пути нет. В результате сервер не может выполнить скрипт и показывает в браузере 500 ошибку.
Ещё одна причина — несовместимость скрипта с новой версией PHP. Разные версии отличаются друг от друга, поэтому скрипт, который работал с PHP 5.6, может уже не работать с PHP 7.2. Например, потому что в новой версии больше не поддерживается какая-то переменная. Также после смены версии PHP некоторые расширения могут быть выключены по-умолчанию или отсутствовать как устаревшие.
10. Проверьте плагины и тему
Любой плагин или тема это чей-то код, который вы встраиваете в свой сайт. Если этот код написан плохо или после его добавления он вступает в конфликт с другим кодом, на сервере может возникнуть 500 ошибка. Иногда она возникает сразу после установки или обновления и на всех страницах сайта, но может и возникать после выполнения какого-то действия или только на одной странице.
Чтобы проверить, дело в плагине или нет, деактивируйте их и проверьте, исчезла ли ошибка. Если да, включайте плагины по очереди, пока не найдёте тот, из-за которого она возникает. Если нет, значит дело в чём-то другом.
Подобным образом можно проверить и тему — включите вместо текущей стандартную и снова зайдите на сайт. Дальше по ситуации: либо ищите проблему дальше, либо меняйте тему, либо свяжитесь с разработчиком, чтобы помог устранить ошибку.
Отключить плагины можно в консоли WordPress, в разделе «Плагины» – «Установленные. Поставьте галочку в шапке таблицы, чтобы выбрать все плагины сразу, выберите в выпадающем меню выше вариант «Деактивировать» и нажмите «Применить».
Если не можете попасть в консоль, потому что 500 ошибка отображается на всех страницах сайта, отключить плагины можно в менеджере файлов в панели управления хостингом. Вот как это сделать в cPanel.
На главной странице cPanel найдите блок «Файлы» и перейдите в раздел «Менеджер файлов».
Дальше найдите корневую папку домена, перейдите в папку wp-content и переименуйте папку plugins, например, в plugins-old. Это отключит все плагины.
Обычно для основного домена корневая папка называется public_html, а для дополнительного — так же, как и сам домен.
Если после этого 500 ошибка исчезла, переименуйте папку plugins обратно, зайдите в неё и по очереди переименовывайте папку с каждым плагином, пока не найдёте тот, который вызывает ошибку.
11. Обратитесь к хостинг-провайдеру
500 ошибка может возникать, если провайдер проводит на сервере технические работы. Поэтому уточните этот момент у поддержки, если не получается найти причину ошибки самостоятельно.
Многие провайдеры информируют клиентов о подобных работах. У нас для этого есть отдельная страница «Сервисные уведомления». Вы найдёте её в боковой панели своего аккаунта.
Что делать, если советы не помогли
К сожалению, такое тоже может произойти. Ошибка 500 очень индивидуальна и рассмотреть все ситуации в статье невозможно. Попробуйте погуглить фрагмент ошибки, возможно, у кого-то была такая же проблема и её решение описали на каком-нибудь форуме. Либо пришлите в комментариях к этой статье сообщение из логов, постараемся помочь.