Ошибка 500 сервера: что означает, причины возникновения и как исправить
Что такое внутренняя ошибка сервера 500
Код ошибки 500 указывает на то, что браузер отправил запрос корректно, однако сервер по разным причинам не смог его обработать.
Сообщение об ошибке всегда сопровождается описанием. Наиболее распространенные варианты:
- Внутренняя ошибка сервера 500;
- Ошибка 500 Internal Server Error;
- Временная ошибка (500);
- Внутренняя ошибка сервера;
- 500 ошибка сервера;
- Внутренняя ошибка HTTP 500;
- Произошла непредвиденная ошибка;
- Ошибка 500;
- HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).
Дизайн и описание ошибки 500 бывает разным, так как каждый владелец сайта может создать свою версию страницы.
Как выглядит страница ошибки 500
Как диагностировать ошибку 500
Для диагностики внутренней ошибки сервера с кодом 500 важно проверить содержимое файла «error.log», который находится в корне сайта или в каком-либо другом месте — это зависит от настроек сервера.
Способ доступа к файлу зависит от того, размещен ли сайт на веб-хостинге или на выделенном/физическом сервере.
Раздел “Журнал” в панели управления Бегет. Включите ведение журналов для ваших доменов. Логи будут сохраняться в корневую папку
Этот метод дает возможность выяснить причину возникновения ошибки и за короткий промежуток времени устранить ее. После проведения диагностики можно использовать один из предложенных ниже способов решения проблемы.
Как ошибка 500 влияет на SEO-продвижение
Для продвижения сайта в поисковых системах используются поисковые роботы. Они постоянно сканируют страницы сайта, проверяя их доступность. Если страница работает правильно, роботы анализируют её содержимое. После этого формируются поисковые запросы, по которым сайт должно быть легко найти в поиске.
Когда поисковый робот сканирует страницу с ошибкой 500, он не меняет ее статус в течение суток. В течение этого времени у администратора есть возможность исправить ошибку. Если робот перейдет на страницу и вновь столкнется с ошибкой, он исключит эту страницу из поисковой выдачи.
Проверить, осталась ли страница на прежних позициях, удобно с помощью Google Search Console. Если робот исключил страницу из поисковой выдачи, ее можно добавить снова. То же самое можно сделать через Яндекс.Вебмастер.
Кроме этого, проверить наличие страницы в индексе можно и напрямую через поисковую систему.
Код ошибки 500: причины
Если сервер вернул ошибку 500, это могло произойти из-за настроек на web-хостинге или проблем с кодом сайта. Наиболее распространённые причины:
- ошибки в файле .htaccess;
- неподходящая версия PHP;
- некорректные права на файлы и каталоги;
- большое количество запущенных процессов;
- большие скрипты (нехватка оперативной памяти);
- несовместимые или устаревшие плагины.
Решить проблему с сервером можно лишь на стороне владельца веб-ресурса. Но пользователь тоже может выполнить несколько действий, чтобы продолжить работу на сайте.
Что делать пользователю
Перезагрузить страницу
Удаленный сервер возвращает ошибку не только из-за каких-либо серьезных проблем на сервере. Иногда 500 ошибка сервера может быть вызвана перегрузками сайта.
Чтобы устранить ошибку, перезагрузите страницу с помощью сочетания клавиш:
- на ПК — F5;
- на ноутбуке — Fn + F5;
- на устройствах от Apple — Cmd + R.
Обратите внимание! Если вы приобретаете товары в интернет-магазине и при оформлении заказа появилась ошибка 500 Internal Server Error (перевод — внутренняя ошибка сервера), при перезагрузке страницы может создаться несколько заказов. Поэтому сначала проверьте, оформился ли ваш предыдущий заказ. Если нет, можно попробовать оформить заказ заново.
Очистить кэш и cookies браузера
Кэш и cookies сохраняют данные сайтов, которые были посещены, и данные аутентификаций, чтобы в будущем загружать веб-ресурсы быстрее. Если на ресурсе уже был статус ошибки 500, при повторном входе на сайт может быть загружена старая версия страницы с ошибкой из кэша, хотя на самом деле она уже работает.
Если ни одно из этих действий не решило проблему, значит, некорректно работает сам сервер сайта. Стоит вернуться на страницу позже, как только владелец решит проблему.
Сообщить администратору ресурса
Не все владельцы сайтов постоянно мониторят логи и читают сообщения об ошибках. Есть вероятность, что администратор не в курсе, что сайт перестал работать.
В таком случае пользователь может помочь. Можно найти контактную информацию и связаться с владельцем ресурса, чтобы сообщить о проблеме. Если на самом сайте из‑за ошибки 500 никаких полезных данных не видите, можно найти сохраненную копию страницы в поисковиках или в архиве интернета.
Как устранить ошибку
Теперь поговорим о том, как исправить ошибку 500 — рассмотрим наиболее эффективные способы.
Проверить синтаксис файла .htaccess
Если вы используете веб‑сервер Apache, в корне сайта или во вложенных папках должен быть файл .htaccess. В нём хранятся серверные настройки.
В большинстве случаев ресурс может работать и без этого файла. Попробуйте переименовать .htaccess, например, в .htaccess_, а затем вновь зайти на главную страницу сайта.
Если ошибка 500 исчезла, значит, дело именно в .htaccess. Стоит проверить синтаксис этого файла — возможно, при редактировании где-то был оставлен лишний символ или допущена опечатка. Если есть предыдущая версия настроек, стоит вернуть её и посмотреть, появляется ли ошибка 500.
Иногда удается исправить проблему, если закомментировать строку Options в .htaccess — вставить # в самом её начале. Если это не сработало, закомментируйте и другие строки, а затем постепенно убирайте #, чтобы найти проблемное место в файле.
Если вы отредактировали .htaccess, стоит проверить, сохранились ли изменения. Бывает, что хостер выставляет на этот файл права, которые запрещают редактирование. В таком случае стоит попробовать скачать .htaccess к себе на компьютер, изменить файл в любом текстовом редакторе и залить на сайт вместо старой версии.
Посмотреть лог ошибок
Если вы недавно проводили какие‑то работы на сайте, это могло привести к ошибке 500. Откройте логи и посмотрите, нет появилось ли там сообщений о проблемах. Если есть, стоит проанализировать их и попробовать отменить последние корректировки.
Хостеры чаще всего указывают, где по умолчанию хранятся логи и как можно получить к ним доступ из панели управления. Эту информацию можно найти в разделах помощи или FAQ (frequently asked questions — часто задаваемые вопросы) на сайте хостинга.
Выставить права для CGI‑скриптов
Право доступа 0755 (drwxr‑xr‑x)
Если вы используете CGI‑скрипты, то сами файлы с ними и папки, в которых они хранятся, должны иметь право доступа 0755 (drwxr‑xr‑x). Такая комбинация разрешает редактировать их только владельцу. Остальные пользователи могут лишь читать эти файлы и запускать их.
Если у вас установлены другие права доступа, это может приводить к ошибке 500.
Проверить содержимое CGI‑скриптов
Корректные CGI‑скрипты должны иметь окончания строк в формате Unix (\n), а не в формате Windows (\r\n). Для сохранения правильного варианта загружать код на большинство хостингов следует по FTP в режиме ASCII. Если вы не знаете, какие настройки использовались, лучше перезалить скрипты и посмотреть, не исчезла ли ошибка 500.
Также CGI‑программы могут формировать неправильные HTTP‑заголовки ответа. В этом случае вы, возможно, увидите ошибки в логах.
Удалить или отключить недавно установленные плагины или компоненты
Иногда отдельные компоненты сайта или плагины конфликтуют между собой. Это также может привести к ошибке 500 и другим проблемам на стороне сервера.
Если вы недавно устанавливали модули либо обновляли их, стоит попробовать отключить их в панели администрирования. Но нужно быть готовым к тому, что после этого на сайте могут возникнуть другие ошибки. Но если ответ 500 больше не приходит, значит, дело как раз в конфликте компонентов или плагинов.
Оптимизировать скрипты
Если скрипты выполняются долго или для них недостаточно ресурсов, стоит попробовать пересмотреть их содержимое. Возможно, код нуждается в оптимизации, чтобы он потреблял меньше процессорного времени и оперативной памяти.
Часто скриптам не хватает ресурсов, если вы используете виртуальный хостинг. Там количество памяти серьезно ограничено, чтобы у всех аккаунтов в рамках одного физического сервера были одинаковые возможности.
Попробуйте разбить скрипт на блоки, а затем оценить эффективность работы каждого из них. Если в коде много внешних вызовов или потребление памяти постоянно растёт вплоть до установленного лимита, с этим важно что-то сделать.
Увеличить объём оперативной памяти сервера
Иногда возможно такое, что даже после оптимизации скриптов они всё равно потребляют слишком много памяти. В этом случае лучше перейти на более дорогой пакет обслуживания на хостинге или, если есть такая возможность, увеличить непосредственно выделение памяти. И не стоит переплачивать за другие ресурсы, которые вам не нужны.
Попросить помощи
Обратитесь в службу поддержки хостера или на профильный форум. Можно поискать похожие ошибки на Stackoverflow — даже если там нет подходящей темы, всегда можно создать новую. Опишите ситуацию максимально подробно и будьте готовы пробовать разные варианты, которые пользователи предложат в комментариях.
Также можно зарегистрироваться на сайтах для фрилансеров в качестве заказчика. Профильные специалисты помогут решить проблему за определенную плату.
Некорректная работа CMS
Одной из причин появления ошибки «500» могут быть неправильные настройки CMS. Чаще всего используются WordPress и Joomla. На их примере рассмотрим причины возникновения проблемы, а также решения по ее устранению.
Ошибка «500» в WordPress
При работе сайта на движке WordPress способы определения причины появления ошибки с кодом «500» несколько отличается от остальных CMS. Проблема бывает связана с .htaccess, установленной темой, а также плагином или ядром WordPress.
Способ № 1 — файл .htaccess
Файл используется при изменении структуры ссылок и работе плагинов. Также в него могут вносить изменения ядро CMS, темы и плагины.
Как выполнить диагностику:
- Скопировать .htaccess на диск, а после этого удалить его на сервере.
- Обновить страницу.
- Если сайт заработал, следует искать причину в файле.
- Если при обновлении страницы ошибка не исчезнет, то стоит изменить атрибуты файла .htaccess. Для этого необходимо запретить запись в файл, задав в правах доступа числовое значение «644».
Последний пункт влияет на активацию плагинов. Его следует рассматривать как временную меру.
Способ № 2 — смена текущей темы
Для устранения ошибки «500» можно изменить тему на другую, а затем обновить страницу. Если сайт заработал, значит, причина в ней. В противном случае потребуется перейти к третьему варианту решения проблемы.
Способ № 3 — перебор плагинов
При расширении функциональности сайта пользователи могут применять соответствующие плагины, которые иногда становятся причиной внутренней ошибки сервера. Для диагностики неработающего компонента необходимо последовательно деактивировать каждый из плагинов — так получится найти «проблемный».
Деактивация плагинов на Wordpress
Порядок деактивации плагина:
- Выбрать плагин (стрелка № 1).
- В выпадающем списке выбрать опцию «Деактивировать» (стрелка № 2).
- Нажать на «Применить» (стрелка № 3).
- Обновить страницу.
Перебирать плагины следует до возобновления работы интернет-ресурса.
Если деактивация плагинов не привела к необходимому эффекту, и сайт по-прежнему не работает, следует перейти к четвертому методу.
Способ № 4 — модификация конфигурационного файла
Устранить проблему внутренней ошибки сервера может помочь увеличение объема памяти.
Алгоритм модификации:
- В корневой директории хостинга следует найти файл «wp.config.php».
- Открыть его в редакторе.
- Перейти в конец файла.
- Добавить код «define(‘WP_MEMORY_LIMIT’, ’64M’)».
- Сохранить и перезагрузить страницу.
Способ № 5 — обновление CMS
Если ни один из методов не оказался эффективным, вероятно, причина заключается в ядре движка CMS. Для устранения ошибки его требуется обновить до последней версии или переустановить.
Ошибка «500» в CMS Joomla
Ошибка с кодом «500» может возникнуть при попытке зайти в административную панель CMS Joomla. При этом сайт и все его функции могут работать корректно.
Ошибку следует искать самостоятельно, перебирая каждый из вариантов. В файле «error.php», который хранится в директории «logs», есть описание всех проблем при работе с CMS.
Способ № 1 — установка прав на «logs»
Чтобы устранить проблему, следует установить права доступа на папки «logs» и «tmp», которые должны соответствовать значению «777».
Способ № 2 — корректность путей к директориям «logs» и «tmp»
Пути к директориям хранятся в файле «configuration.php». Нужно проверить их правильность, указав, если требуется, полные пути.
Способ № 3 — проверка .htaccess
При ошибке «500» в административной панели требуется открыть файл «.htaccess» и поочередно комментировать строки. После каждого изменения файл требуется сохранять и проверять работоспособность админ-панели.
Если после реализации предложенных методов исправления ошибки «500» сайт на хостинге все еще не работает, следует обращаться к техподдержке хостинг-провайдера.
Итоги. 6 рекомендаций по исправлению 500 Server Internal Error
Пятисотая ошибка возникает на стороне сервера, и проблему надо искать и устранять не на собственном ПК или ноутбуке, а именно на веб-сервере.
Однако вы можете попробовать сделать эти шаги, чтобы ускорить устранение проблемы:
- Перезагрузите страницу с помощью клавиши F5 или сочетания Ctrl-К. Кроме этого, можно повторить ввод адреса в строку браузера (иногда даже это может помочь избавиться от проблемы, потому что вы могли просто ошибиться с вводом адреса).
- Очистите браузер. Дело в том, что целевая страница может закэшироваться и все время отдавать 500-ю ошибку. Проблемы со стороны сервера редко связаны с кэшированием, однако можно воспользоваться встроенным инструментарием браузера для очистки кеша или специализированным ПО типа CCleaner или Reg Organizer.
- Удалите все cookie-файлы. В некоторых случаях это также помогает устранить неполадки, которые связаны с 500-ой ошибкой. Это можно сделать с помощью перечисленных во втором пункте программ. Важно, чтобы браузер был закрыт. После этого необходимо снова его открыть и заново загрузить нужную страницу.
- Серверная ошибка может быть достаточно быстро устранена техподдержкой сервера. Часто сбойная страница спокойно загружается уже спустя несколько минут. Следует связаться с представителями ресурса. Наверняка они в курсе возникшей проблемы и уже пытаются с ней справиться. Если же специалисты о ней не знают, можно сообщить об этом.
- Из сферы e-commerce. Например, вы оформляете заказ на маркетплейсе, а в это время на странице появляется 500 Internal Server Error. Если не остановиться и дальше пытаться оформлять заказ, возможно, вы создадите и подтвердите сразу несколько заказов, причем все они будут оплачены. Хотя почти все качественные площадки онлайн-торговли имеют защиту от дублирующихся транзакций, все же стоит иметь в виду такую особенность и не пытаться завершить заказ, если такая ошибка появилась во время его совершения.
- Просто немного подождите. В большинстве случаев дело не в вас, и остается лишь перетерпеть неприятность.