В статье мы расскажем, как исправить ошибку (код состояния) 500 со стороны пользователя и администратора сайта, а также подробно разберём, что такое ошибка запроса 500.
Что такое внутренняя ошибка сервера 500
Код ошибки 5хх говорит о том, что браузер отправил запрос корректно, но сервер не смог его обработать. Что значит ошибка 500? Это проблема сервера, причину которой он не может распознать.
Сообщение об ошибке сопровождается описанием. Самые популярные варианты:
- Внутренняя ошибка сервера 500,
- Ошибка 500 Internal Server Error,
- Временная ошибка (500),
- Внутренняя ошибка сервера,
- 500 ошибка сервера,
- Внутренняя ошибка HTTP 500,
- Произошла непредвиденная ошибка,
- Ошибка 500,
- HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).
Дизайн и описание ошибки 500 может быть любым, так как каждый владелец сайта может создать свою версию страницы. Например, так выглядит страница с ошибкой на REG.RU:
Как ошибка 500 влияет на SEO-продвижение
Для продвижения сайта в поисковых системах используются поисковые роботы. Они сканируют страницы сайта, проверяя их доступность. Если страница работает корректно, роботы анализируют её содержимое. После этого формируются поисковые запросы, по которым можно найти ресурс в поиске.
Когда поисковый робот сканирует страницу с ошибкой 500, он не изменяет её статус в течение суток. В течение этого времени администратор может исправить ошибку. Если робот перейдёт на страницу и снова столкнётся с ошибкой, он исключит эту страницу из поисковой выдачи.
Проверить, осталась ли страница на прежних позициях, можно с помощью Google Search Console. Если робот исключил страницу из поисковой выдачи, её можно добавить снова.
Код ошибки 500: причины
Если сервер вернул ошибку 500, это могло случиться из-за настроек на web-хостинге или проблем с кодом сайта. Самые распространённые причины:
- ошибки в файле .htaccess,
- неподходящая версия PHP,
- некорректные права на файлы и каталоги,
- большое количество запущенных процессов,
- большие скрипты,
- несовместимые или устаревшие плагины.
Решить проблему с сервером можно только на стороне владельца веб-ресурса. Однако пользователь тоже может выполнить несколько действий, чтобы продолжить работу на сайте.
Что делать, если вы пользователь
Если на определённом ресурсе часто возникает ошибка 500, вы можете связаться с владельцем сайта по инструкции.
Перезагрузите страницу
Удаленный сервер возвращает ошибку не только из-за серьёзных проблем на сервере. Иногда 500 ошибка сервера может быть вызвана небольшими перегрузками сайта.
Чтобы устранить ошибку, перезагрузите страницу с помощью сочетания клавиш:
- на ПК — F5,
- на ноутбуке — Fn + F5,
- на устройствах от Apple — Cmd + R.
Обратите внимание! Если вы приобретаете товары в интернет-магазине и при оформлении заказа появляется 500 Internal Server Error (перевод — внутренняя ошибка сервера), при перезагрузке страницы может создаться несколько заказов. Поэтому сначала проверьте, оформился ли ваш предыдущий заказ. Если нет, попробуйте оформить заказ заново.
Очистите кэш и cookies браузера
Кэш и cookies сохраняют данные посещаемых сайтов и данные аутентификаций, чтобы в будущем загружать веб-ресурсы быстрее. Если на ресурсе уже был статус ошибки 500, при повторном входе на сайт может загружаться старая версия страницы с ошибкой из кэша, хотя на самом деле страница уже работает. Очистить кэш и куки браузера вам поможет инструкция.
Если ни одно из этих действий не решило проблему, значит, некорректно работает сам сервер сайта. Вернитесь на страницу позже, как только владелец решит проблему.
Что делать, если вы владелец сайта
В большинстве случаев устранить проблему может только владелец сайта. Как правило, ошибка связана с проблемами в коде. Реже проблемы могут быть на физическом сервере хостинг-провайдера.
Ниже рассмотрим самые популярные причины и способы решения.
Ошибки в файле .htaccess
Неверные правила в файле .htaccess — частая причина возникновения ошибки. Чтобы это проверить, найдите .htaccess в файлах сайта и переименуйте его (например, в test). Так директивы, прописанные в файле, не повлияют на работу сервера. Если сайт заработал, переименуйте файл обратно в .htaccess и найдите ошибку в директивах. Если вы самостоятельно вносили изменения в .htaccess, закомментируйте новые строки и проверьте доступность сайта.Также может помочь замена текущего файла .htaccess на стандартный в зависимости от CMS.
Найти директиву с ошибкой можно с помощью онлайн-тестировщика. Введите содержимое .htaccess и ссылку на сайт, начиная с https://. Затем нажмите Test:
Произошла непредвиденная ошибка
На экране появится отчёт. Если в .htaccess есть ошибки, они будут выделены красным цветом:
500 ошибка nginx
Активирована устаревшая версия PHP
Устаревшие версии PHP не получают обновления безопасности, работают медленнее и могут вызывать проблемы с плагинами и скриптами. Возможно, для работы вашего веб-ресурса нужна более новая версия PHP. Попробуйте сменить версию PHP на другую по инструкции.
Установлены некорректные права на файлы и каталоги сайта
В большинстве случаев корректными правами для каталогов являются «755», для файлов — «644». Проверьте, правильно ли они установлены, и при необходимости измените права на файлы и папки.
Запущено максимальное количество процессов
На тарифах виртуального хостинга REG.RU установлены ограничения на количество одновременно запущенных процессов. Например, на тарифах линейки «Эконом» установлено ограничение в 18 одновременно запущенных процессов, на тарифах «+Мощность» ― 48 процессов. Если лимит превышен, новый процесс не запускается и возникает системная ошибка 500.
Такое большое число одновременных процессов может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других процессов.
Чтобы проверить количество процессов, подключитесь по SSH. Выполните команду:
ps aux | grep [u]1234567 |wc -l
Вместо u1234567 укажите ваш логин хостинга: Как узнать логин хостинга.
Чтобы посмотреть, какие процессы запущены, введите команду:
Вместо u1234567 укажите логин услуги хостинга.
Командная строка отобразит запущенные процессы:
Код ошибки 500
Где:
- u1234567 — логин услуги хостинга,
- 40522 — PID процесса,
- S — приоритет процесса,
- /usr/libexec/sftp-server — название процесса.
Процесс можно завершить командой kill
, например:
Вместо 40522 укажите PID процесса.
Чтобы решить проблему, вы также можете:
- увеличить интервал запуска заданий CRON,
- ограничить количество IMAP-соединений в настройках почтового клиента. Подробнее в статье Ограничение IMAP-соединений,
- проанализировать запущенные процессы самостоятельно или обратившись за помощью к разработчикам сайта.
Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.
Скрипты работают слишком медленно
На каждом виртуальном хостинге есть ограничения на время выполнения скрипта. Если за установленное время скрипт не успевает выполниться, возникает ошибка сервера 500. Для решения проблемы обратитесь к разработчику сайта и оптимизируйте скрипты. Если оптимизировать нельзя, перейдите на более мощный вид сервера.
У пользователей VPS есть возможность увеличить максимальное использование оперативной памяти на процесс, но лучше делать скрипты меньшего размера.
Ошибка 500 на сайте, созданном на WordPress
WordPress предлагает много плагинов для создания хорошего сайта. Они значительно расширяют возможности CMS. Однако они же могут нарушать работу сайта и вызывать ошибку 500. Вызвать ошибку могут как недавно установленные плагины, так и старые.
Для начала проверьте, нужно ли обновить плагины. Часто устаревшие плагины перестают работать и вызывают проблемы работы сайта. Если все плагины обновлены, но 500 Internal Server Error остаётся, отключите все плагины, чтобы убедиться, что именно они мешают работе сайта. Как только станет понятно, что виноват один из плагинов, отключайте их по очереди, пока не найдёте тот, который нарушает работу сервера.
Как отключить плагин в WordPress
- 1.
-
2.
Перейдите во вкладку «Плагины» ― «Установленные».
-
3.
Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:
Если все ваши действия не решили проблему или вы не уверены в своих технических знаниях, обратитесь к службе технической поддержки. Сообщите время обнаружения проблемы и опишите все действия, которые вы предприняли перед обращением. Специалисты сделают детальную проверку настроек вашего сайта и при необходимости обратятся к администраторам сервера на стороне хостинг-провайдера.
От ошибки с кодом 500 не застрахован ни один веб-ресурс. Если она возникает, доступ к сайту теряют все его пользователи. В статье мы рассказываем, что делать при обнаружении ошибки 500 Internal Server Error и как попытаться исправить ее своими силами.
Что значит ошибка 500
Ошибка 500, или 500 Internal Server Error — это внутренняя серверная проблема, ее возникновение обусловлено тем, что от клиента (браузера, десктопной программы и т. п.) в сторону сервера поступает запрос, а сервер не может корректно его обработать.
В итоге возникает сообщение вида:
Популярная причина возникновения 500-й ошибки— ошибки в синтаксисе файла.htaccess. Также она появляется, если на сервере некорректно выполняются скрипты или же есть проблемы с правами доступа к файлам и папкам.
Обратите внимание, что за 500-ю ошибку (как и другие ошибки, начинающиеся с «пятерки») несут ответственность либо администраторы сервера, либо веб-разработчики. И только в исключительных случаях — пользователи.
Что не поможет, если возникла 500-я ошибка
- Перезагрузка компьютера. В сетевой архитектуре он является клиентом, т.е. не он вызывает проблему.
- Смена браузера. Даже если до этого Google Chrome всегда помогал, когда подводил Firefox, в этот раз он едва ли поможет. Еще и на программу просто так обидитесь!
- Переустановка программного обеспечения. Это будет иметь призрачный шанс на успех, если только у вас установлено совсем старое ПО, которой разработчики в принудительном порядке закрыли доступ в интернет.
- Перезагрузка роутера / перетыкание проводов. Это решение для неисправности сети в целом — и то не всегда.
Как действовать, если ошибка 500 появилась на чужом сайте
- Выждать. Если вы не являетесь администратором ресурса, то не сможете посмотреть и изменить файл настроек, покопаться в сайте и попытаться исправить что-то там и т. п. Ждем, когда администратор решит проблему, и через некоторое время повторяем попытку открыть нужную страницу.
- Связаться с техподдержкой. Конечно, здорово, когда за сайтом следят в режиме 24/7, но бывает и так, что администратор просто отсутствовал на месте и не знает, что сайт уже 2 часа как «лежит».
Если вам позарез нужна нужная страница, можно открыть ее сохраненную копию:
Как действовать, если ошибка 500 появилась на вашем сайте
Лучше всего быть подготовленным к такому, когда у вас свой сайт, потому что будет известна CMS, хостинг, последние изменения на сайте, установленные плагины или виджеты и т. д.
Как бы то ни было, для любого типа веб-ресурса можно предпринять универсальные действия. Оптимально будет проделать все действия, чтобы исключить возможные источники появления 500-й ошибки.
Посмотрите, что в файле .htaccess
У всех сайтов на Apache при получении FTP-доступа можно увидеть в корневой папке файл .htaccess, содержащий все серверные настройки.
Этот файл с моего сайта выглядит следующим образом:
Чаще всего сайты могут функционировать и без него. То есть вы можете добавить в имя файла какой-то символ (например, .htaccess 1) и потом снова зайти на проблемную страницу.
Если все грузится нормально, проблема была именно в файле. Значит, надо внимательно просмотреть его синтаксис: где-то допущена ошибка в символах. Если вы недавно вносили в файл изменения, попробуйте вернуть его в предыдущее состояние.
Также в ряде случаев можно найти строку, которая начинается с Options (вы можете увидеть ее на изображении выше) и закомментировать ее с помощью символа решетки — «#». Если не помогло, комментируйте другие строки в файле, а потом по очереди снимайте «решетку» — возможно, так вы выявите ошибочную запись.
Также дело может быть в разграничении прав доступа при внесении изменений в файл. У хостера может стоять запрет на изменение содержимого файла. Надо скачать файл на свой ПК и через «Блокнот», Notepad++ или любой другой текстовый редактор изменить .htaccess и загрузить на сайт с заменой предыдущей версии файла.
Изучите лог ошибок сервера
Если на своем сайте вы что-то недавно меняли, это также могло повлечь 500-ю ошибку. В этом случае нужно идти в журнал сайта (он же — лог) и смотреть, есть ли там записи о проблемах. Если что-то обнаружите, можно попытаться вернуть все переделанное на исходные позиции.
В настройках хостинговых провайдеров можно найти информацию о путях размещения логов и о том, как получить к ним доступ.
Удалите или отключите недавно установленные плагины или компоненты
Если у вас на сайте (WordPress — ярчайший пример) установлено много плагинов, они могут вступить в конфликт и блокировать действия друг друга. Такое может привести к уже ставшей родной ошибке 500 и прочим неприятностям.
Если вы на днях установили какой-то плагин или обновили один из имеющихся (а то и не один), нужно последовательно их деактивировать и проверить, исчезнет ли ошибка. Не исключено, что у вас появятся ошибки в функциональности сайта, но если при этом исчезнет 500 Internal Server Error, дело в плагинах. Удалите их / обновите / найдите или установите альтернативу.
Оптимизируйте скрипты
Если на сайте есть исполняемые скрипты и они начали ненормально долго выполняться или требовать большее количество ресурсов, надо посмотреть их содержимое. Может быть просто банальное нагромождение кода, который нужно очистить от мусора и тем самым достичь экономии оперативной памяти и ресурсов процессора.
При использовании виртуального хостинга проблема нехватки ресурсов бывает особенно актуальной. Такой тип хостинга фиксирует выделяемый объем памяти, чтобы разделить свои вычислительные ресурсы между все пользователями реального сервера.
Решением будет блочное разделение скрипта с проверкой качества работы каждого блока. Вас должно насторожить, если запрашиваемые объемы памяти растут и / или к серверу поступает чересчур много вызовов.
Увеличьте объем оперативной памяти сервера
Время на пару с информационными технологиями несется вдаль, а значит и оптимизированные скрипты могут запрашивать много памяти. Если вам очень важна стабильность, надо просто выбрать более дорогой тариф, где сервер выделит вам в 2–3 раза больше памяти, чем сейчас. Также надо смотреть на опции того или иного тарифного предложения, чтобы убрать по возможности то, что вам не требуется.
Запросите поддержку
Нет ни одного уважающего себя хостера без мощной службы технической поддержки. Есть масса тематических форумов, которые по косточкам разбирают проблемы разных типов сайтов на с разными административными панелями:
- Русскоязычный форум Mozilla.
- IT-форум вебмастеров и разработчиков.
- Киберфорум.
- Форум сайтостроения.
Если поддержка все же долго отвечает, можно посмотреть нужную ветку форума: найти там ответ или же задать свой вопрос.
Можно также запросить консультацию у частных специалистов, но это будет стоить денег и не факт, что они решат проблему с 500-й ошибкой.
Итоги. 6 рекомендаций по исправлению 500 Server Internal Error
Напомним, что пятисотая ошибка возникает на стороне сервера, т.е. проблему надо искать и устранять не на собственном ПК или ноутбуке, а на веб-сервере.
Тем не менее, вы можете попробовать сделать эти шаги, чтобы ускорить устранение ошибки:
- Просто перезагрузите нужную страницу с помощью клавиши F5 или клавиатурного сочетания Ctrl-К. Также можно повторить ввод адреса в строку браузера (иногда одно это снимает проблему, потому что вы просто ошиблись с его содержимым).
- Серверная ошибка может быть оперативно устранена техподдержкой сервера. Порой сбойная страница спокойно загружается уже через пять минут. Свяжитесь с представителями ресурса. Если там работают ответственные люди, они наверняка в курсе возникшей проблемы и пытаются ее решить. Если же не в курсе, вы можете стать «спасителем» и косвенно способствовать восстановлению работоспособности страницы. Если сайт весь ушел в 500-ю ошибку, можно узнать владельцев сайта через специальный сервис и попробовать написать им по электронной почте или даже позвонить.
- Из сферы ecommerce: допустим, вы оформляете заказ на маркетплейсе, а в это время на странице появляется 500 Internal Server Error. Если не остановиться и продолжать делать заказ, очень может статься, что вы создадите и подтвердите сразу несколько заказов одного и того же товара, причем все они будут оплачены. Да, почти все площадки онлайн-торговли имеют защиту от дублирующихся транзакций, но все же нужно иметь подобное в виду и не пытаться завершить заказ, если такая ошибка возникла во время его совершения.
- Проведите чистку браузера. Дело в том, что целевая страница может закешироваться и все время отдавать 500-ю ошибку. Конечно, проблемы со стороны сервера редко связаны с кешированием, но все же стоит воспользоваться встроенным инструментарием браузера для очистки кеша или специализированным ПО типа CCleaner или Reg Organizer.
- Удалите все cookie-файлы. Иногда это также помогает устранить неполадки, которые связаны с 500-ой ошибкой. Это можно сделать с помощью озвученных в предыдущем пункте программ. Главное, чтобы браузер был закрыт. После этого нужно снова его открыть и заново загрузить нужную страницу.
- Просто выждите некоторое время. Почти всегда дело не в вас, и остается просто перетерпеть неприятность. Можно также посмотреть похожие на целевую страницы, если это возможно.
Содержание:
- Что означает код ошибки 500 и почему она возникает?
- Где можно встретить ошибку 500?
- Все причины возникновения ошибки
-
Что делать при появлении ошибки?
- Подождать
- Сообщить администратору
-
Что делать администратору при появлении ошибки?
- Проверить файл htaccess
- Проверить лог ошибок
- Проверить содержимое CGI-скриптов
- Проверить плагины и компоненты
- Увеличить объем оперативной памяти сервера
Что означает код ошибки 500 и почему она возникает?
Коды состояния HTTP сообщают браузеру интернет-пользователя (клиенту), успешно ли выполнен запрос (получение доступа к сайту). К примеру, если браузер получает код состояния 200, то все прошло успешно. Это сообщение не видно пользователю — вместо него появляется запрошенный контент.
С кодами состояния 400 и 500 дело обстоит иначе. Первый означает, что ошибка связана с клиентом, а второй — с сервером.
Internal Server Error 500 — общий код состояния для ошибок со стороны сервера. По этой причине невозможно сразу определить, где именно возникла проблема: известно лишь то, что сервер сообщил о ней. Когда это происходит, сайт отображает посетителям страницу с сообщением об ошибке.
Где можно встретить ошибку 500?
Поскольку эта ошибка является частью спецификации HTTP для сайтов, она может появляться в любом браузере и на любом компьютере, в том числе на мобильных устройствах.
Ошибка 500 может отображаться различными способами, но в большинстве случаев сообщение включает код состояния 500, фразу «внутренняя ошибка сервера» или и то, и другое. Вот несколько распространенных примеров:
- 500 Internal Server Error;
- HTTP 500 — Internal Server Error;
- Temporary Error (500);
- Internal Server Error;
- HTTP 500 Internal Error;
- 500 Error;
- HTTP Error 500;
- 500. That’s an error.
Обычно эта ошибка отображается в окне браузера, как стандартная веб-страница.
Все причины возникновения ошибки
Internal Server Error 500 возникает, когда запрос обрабатывается сервером. Этот код состояния включает все незапланированные события, которые могут произойти на стороне сервера и помешать загрузке сайта. Одна из возможных причин — ошибка в конфигурации сервера.
Вот несколько типичных источников проблем.
- Доступ запрещен — разрешения основных файлов и папок заданы неправильно.
- Тайм-аут сеанса PHP — скрипт пытается получить доступ к внешнему ресурсу и сталкивается с задержкой.
- Некорректный код в htaccess — структура htaccess, файла для локальной настройки сервера Apache, может быть неправильной.
- Ошибка в синтаксисе и коде скриптов CGI и Perl — в этих скриптах могут встречаться неточности, в частности несогласованность путей.
- Лимит памяти PHP — процесс превышает пределы памяти и поэтому не может быть выполнен правильно.
Если сайт работает на WordPress или другой системе управления контентом, причиной ошибки может стать неисправное или несовместимое расширение. Плагины и темы — особенно от сторонних провайдеров — могут повлиять на весь сайт.
Если ошибка сохраняется в течение длительного времени, это может негативно повлиять на SEO сайта. К счастью, большинство из этих проблем можно исправить.
Что делать при появлении ошибки?
Если вы попытались открыть веб-страницу, но увидели Internal Server Error 500, можно сделать следующее.
Подождать
Поскольку ошибка исходит со стороны сервера, владельцы сайта, скорее всего, уже работают над ее устранением. Попробуйте подождать несколько минут или около часа, а затем перезагрузите страницу.
Также можно заглянуть на сайт downforeveryoneorjustme.com и вставить в поисковую строку URL-адрес страницы, на которой произошла внутренняя ошибка сервера.
Сервис сообщит, возникла ли проблема только у вас или же у всех пользователей.
Сообщить администратору
Еще один вариант — связаться с владельцами сайта. Если вы предполагаете, что они еще не знают об ошибке, лучше всего сообщить им — это поможет и вам, и другим пользователям.
У большинства сайтов и сервисов есть аккаунты в социальных сетях, а на некоторых даже указаны email-адреса и номера телефона.
Что делать администратору при появлении ошибки?
Если ошибка 500 появилась на вашем сайте, попробуйте следующие способы.
Проверить файл htaccess
Загляните в файл htaccess: даже небольшая синтаксическая ошибка может вызывать внутреннюю ошибку сервера. Не менее часто случается так, что этот файл неправильно отформатирован. Его нужно создавать в формате ASCII или ANSI, а не в Unicode. Следовательно, писать его следует в текстовом редакторе, например в Notepad, Notepad++ и Sublime Text, а не в Microsoft Word.
Чтобы проверить, является ли файл htaccess причиной ошибки, можно временно переименовать его и перезагрузить сайт. После этого сервер не будет обращаться к htaccess при загрузке страницы. Если сообщение об ошибке больше не появляется, значит стоит исправить этот файл или создать новый.
Проверить лог ошибок
Загляните в лог-файл, например для серверов Linux его можно найти по адресу /var/log/httpd/error_log. Попробуйте перезагрузить сайт, чтобы воспроизвести код ошибки 500, и посмотреть, как создается лог-файл. Это поможет быстро найти источник проблемы.
Проверить содержимое CGI-скриптов
Ошибки могут возникать, если разрешения для важных файлов установлены неправильно. Есть три типа прав:
- read (r) — чтение;
- write (w) — запись;
- execute (x) — выполнение.
Эти разрешения можно предоставлять трем типам пользователей:
- владельцу файла;
- группе пользователей;
- все остальным.
Права указываются либо с помощью сокращений r, w и x, либо с помощью числовых значений: 4 — для чтения, 2 — для записи и 1 — для выполнения. Они добавляются для каждого типа пользователей и идут один за другим: rwxr-xr-x (rwx — для владельца, r-x — для группы и r-x — для всех остальных) или 755.
По умолчанию должна быть установлена конфигурация 755. Если разрешения предоставляются иначе, может возникнуть ошибка. Эту настройку можно изменить с помощью команды: chmod 755 filename.
Если проблема не решится, можно также провести тестирование, предоставив все права для каждой группы: chmod 777 filename. Однако к этой настройке следует прибегать только для определения проблемы — если любой пользователь сможет переписывать файл, безопасность сайта окажется под угрозой.
Проверить плагины и компоненты
Новое ПО, надстройки и сторонние скрипты могут конфликтовать с текущей конфигурацией сервера. Чтобы выявить причину ошибки 500, попробуйте поочередно отключить или удалить программные дополнения.
И напротив, если вы недавно обновили ПО, текущие плагины и темы могут оказаться несовместимы с обновлением. Деактивация дополнений по порядку — лучший способ найти основную причину проблемы.
Увеличить объем оперативной памяти сервера
Лимит памяти определяет, какой ее объем может задействовать процесс. Если какой-либо процесс требует больше памяти, чем доступно, может возникать ошибка 500.
Чтобы это исправить, можно временно увеличить лимит памяти. Для этого добавьте в php.ini команду, подобную этой: memory_limit = 512M. Этот пример устанавливает лимит на 512 МБ.
Учитывайте, что хостинг-провайдер допускает лишь определенный лимит сеанса PHP в рамках используемого вами пакета. Если будет введено большее значение, сервер проигнорирует его. Также помните, что это лишь временное решение: как только сайт заработает, потребуется выяснить причину высокого потребления памяти. Высока вероятность, что в коде содержится ошибка.
Если ни один из этих способов не помог, стоит связаться с хостинг-провайдером. Но прежде чем сделать это, проверьте состояние серверов: при возникновении проблем многие провайдеры сообщают эту информацию на странице состояния или в социальных сетях.
В статье использовались материалы следующих источников:
Blog.hubspot.com
Ionos.com
Businessinsider.com
Lifewire.com
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!
Для тех, кто занимается созданием сайтов, тема этой статьи не будет чем-то новым, так как в любом случае, с ней сталкивались. Поговорим про эту внутреннюю ошибку сервера 500, почему она возникает и как её исправить.
Код ошибки 500 возникает вследствие следующей ситуации: когда поисковый робот при обращении к серверу сайта не может обработать запрос, с которым к нему обратились, автоматически он выдает ошибку под кодом 500. Данная ошибка указывает не на то, что сайта не существует, а что внутри сервера допущены ошибки, не дающие роботу «считать» страницу сайта.
Этот код ошибки, так называемый маяк, который даёт понять, что в данный момент сервер Яндекс Метрика, вход в которую пользователь, к примеру, осуществляет, недоступен, но через какое-то время найдётся и исправиться данная проблема, и сайт полноценно заработает. Другими словами, ошибка 500 просит пользователя подождать.
Почему появляется ошибка 500 Internal Server Error
Разобраться сражу же, почему появляется ошибка 500 Internal Server Error не удастся, так как причин такой ошибки очень много. Основными из них могут быть:
- Обновление платформы происходит неправильно;
- Версия языка программирования PHP, на котором писался код для данного сайта, устарела;
- Htaccess файл, который позволяет менять конфигурацию веб-сервера повреждены;
- Повреждён скрипт;
Мы перечислили лишь основные причины, которые, по мнению опытных программистов, чаще всего являются проблемой ошибки 500. Но если дело всё-таки не в них, понять, а тем более, решить проблему, так же как и делать SEO продвижение бизнеса в интернете процесс очень небыстрый и требует усидчивости и понимания самого процесса.
Как исправить Ошибку 500
Чтобы понять, как исправить ошибку 500, нужно, как мы уже сказали, заглянуть «в корень» проблемы. Всё же, если проблемы данной ошибки сервера заключается в повреждение, или точнее, в медленно работающим одним из скрипов, который не успевает за потоком информации, то есть её своевременной обработкой, тогда с помощью специальных серверов найти этот скрипт и, вручную оптимизировать.
Если же проблема заключается htaccess файле, в таком случае, не каждый пользователь справиться с решением. Так как само написание этого файла – задача опытного специалиста. Это всё равно, что любитель будет делать продвижение сайта в Яндекс самостоятельно и ждать глобальных результатов.
Вообще, ошибка 500, чаще всего возникает по вине хостинг-провайдеров. Дело в том, что многие владельцы сайтов, дабы сэкономить на хостинге, вместо качественного, который даёт гарантии, выбирают, что подешевле, и это порой играет с ними злую шутку. Как говориться, скупой платит дважды, что и получается в итоге. От того, что сайт какое-то время находится в нерабочем состоянии, он теряет потенциальных клиентов, которые в данный момент интересуются данной продукцией.
Ошибка 500 Internal Server Error возникает, когда сервер не может достоверно определить, почему он не в состоянии обработать поступивший от пользователя запрос. Сайт становится недоступным для посетителей и для поисковых роботов. Полностью теряются трафик и конверсии. Ситуация для бизнеса критическая. Как ее исправить — расскажем в статье.
Что может стать причиной
- Запрет доступа.
Иногда при переезде на новый хостинг или расширении структуры ресурса вебмастера забывают открыть доступ к файлам и каталогам на сервере.
- Ошибки в .htaccess.
Из-за неправильно прописанных директив в .htaccess. у web-сервера Apache возникают проблемы с корректным прочтением файлов сайта.
- Некорректное расширение.
Обычно эта проблема касается PHP и CGL скриптов. У них может быть неправильное расширение или устаревшая, неподдерживаемая версия.
- Превышение времени ожидания исполнения скрипта.
Ошибка возникает, если истекает тайм-аут обработки внешних PHP.
- Нехватка выделенной памяти.
Большинство хостингов лимитируют объем оперативной памяти на исполнение скриптов.
- Неправильные настройки CMS.
Некоторые плагины систем управления сайтом — особенно это касается WordPress и Joomla — могут вызывать ошибку 500 из-за отсутствия обновлений или несовместимости.
Как диагностировать
Необходимо открыть файл “error.log”. Для этого можно воспользоваться клиентом FileZilla или панелью управления хостингом/VPS.
В error.log будет доступен детальный отчет об ошибке. Сайты, работающие на серверах Microsoft IIS, выдают более точный код ошибки. Например, 500,19 — “Данные конфигурации неверны”.
Способы исправления
Порядок устранения ошибки зависит от природы ее возникновения.
Неверный код в .htaccess
Проверить, влияют ли строки в файле на работу ресурса, можно через два пути:
- скопировать документ на компьютер и удалить его с сервера;
- переименовать в test или дать любое другое название;
Если после этого ошибка 500 устранится, необходимо найти некорректные директивы, ее вызывающие.
Можно сделать это вручную. Для этого:
- комментируем все строки кода, кроме первой;
- обновляем файл на сервере;
- проверяем работоспособность файла.
Если ошибка не устранена, проделываем перечисленные действия последовательно с каждой строкой в коде. При отсутствии ошибки проверяем правильность написания незакомментированной директивы.
Чтобы не тратить время, для начала диагностику .htaccess можно провести с помощью автоматического тестировщика — например, онлайн-сервиса htaccess test. Для проверки кода нужно ввести в окно содержимое файла и указать адрес сайта. Тестировщик выдаст отчет, в котором выделит красным некорректные директивы.
Иногда строки оказываются неверными из-за незаметной замены латинских букв на русские — чаще всего — “с”. Обнаружить и исправить проблему можно через сервис проверки орфографии text.ru — он покажет неправильные символы. Вам останется только исправить их и перезалить документ.
Отсутствуют права доступа
Для каталогов и файлов существует несколько уровней доступа:
- чтение — пользователь может просматривать содержимое файла или папки;
- запись — пользователь может создавать, удалять и редактировать файлы в указанной папке;
- исполнение — пользователь может запускать обработку скриптов.
Обычно для файлов выставляют числовое значение доступа “644”, для папок и директорий — “755”.
Параметр 644 означает, что владелец ресурса может читать, записывать и редактировать файлы, а остальные пользователи — только читать. 755 — владелец имеет полный доступ, а пользователям разрешено чтение файлов и исполнение скриптов. Редактируются права через хостинг или бесплатную клиентскую программу FileZilla.
- Входим в корневую директорию сервера, введя необходимые учетные данные.
- Если нужно загрузить на сервер новые файлы или папки, перетаскиваем их с локального компьютера.
- Включаем отображение скрытых файлов.
- Выделяем интересующие объекты. В контекстном меню выбираем пункт “Права доступа к файлу…”. В открывшемся окне вводим необходимое числовое значение или отмечаем галочками соответствие категорий прав и групп пользователей.
Иногда для обновления доступов требуется перезагрузить физический сервер, на который загружен сайт.
Медленная работа скриптов
Первый вариант решения проблемы — оптимизация PHP. Для выявления и устранения избыточного кода лучше обратиться к опытному программисту. Понять, точно ли в перегруженности скрипта кроется ошибка, можно с помощью онлайн-сервисов по тестированию кода.
Второй вариант — увеличение времени, отведенного на обработку. Но эта операция доступна только владельцам выделенных серверов. На виртуальном хостинге расширить оперативное время не получится.
Устаревший PHP
Версию и режим работы PHP можно обновить через хостинг-панель. Конкретные действия зависят от того, какой менеджер для управления файлами вы используете.
Некорректные CGI-скрипты
Скрипты CGI чаще всего используются при взаимодействии пользователя с веб-страницей — отправке форм, комментариев, оценок. Второе применение — сбор данных о пользователях, то есть те самые cookies.
В CGI могут возникать различные ошибки.
- Неверный формат окончания строк.
Для серверов, работающих под управлением систем Unix, правильным окончанием строки будет символ “n”. Для Windows-платформ верный символ — “m”. Проверить табуляцию можно с помощью специальных реакторов — например, Notepad++.
- Некорректные права доступа.
Как говорилось ранее, верное числовое значение доступа для исполнительных файлов — 755.
- Неправильные HTML-заголовки.
Информацию об ошибках в заголовках можно проверить в файле ‘error.log’.
Нехватка выделенной памяти
При превышении лимита оперативной памяти, установленной хостингом, стоит предпринять следующие действия.
- Проверка работоспособности скриптов.
Необходимо скачать файл конфигурации php.ini на компьютер и проаудировать его на наличие ошибок. Во время тестирования необходимо включить следующие функции:
- error_reporting = E_ALL
- display_errors = On
- display_startup_errors = On
После активации этих команд при запуске файла будут выводиться все репорты об ошибках.
- Изменение настроек.
Если ресурс расположен на VPS сервере, можно скорректировать параметр memory_limit в файле конфигурации. Узнать оптимальное значение лимита можно только опытным путем, через обновление php.ini и проверку ответа сайта.
- Обращение в техподдержку.
Если код скрипта оптимизирован, но ошибка 500 не исчезает, стоит обратиться в техническую поддержку хостинга.
Ошибки, связанные с CMS
Часто проблемы возникают из-за плагинов или тем, используемых системой управления сайта — особенно это касается CMS WordPress. Схема действий в таком случае следующая.
- Проверить файл .htaccess и, если ошибка возникает из-за него, временно запретить запись в него всем пользователям, прописав параметр доступа “644”.
- Изменить используемую тему, чтобы проверить ее работоспособность.
- Деактивировать плагины. Действовать придется методом перебора, последовательно отключая каждый установленный плагин, пока ошибка не будет устранена.
- Расширить лимит оперативной памяти. В конец файла конфигурации wp.config.php добавить строку define(‘WP_MEMORY_LIMIT’, ’64M’).
Иногда корень проблемы кроется не в сервере или html коде сайта, а в устройстве/браузере пользователя. В этом случае можно:
- перезагрузить страницу — через иконку в браузере или кнопку F5 на клавиатуре;
- почистить кэш и cookies — чтобы прогружалась свежая версия страницы, а не сохраненная (в которой могла быть ошибка);
- проверить браузер на вирусы — особенно если ошибка 500 возникает часто и на разных ресурсах. Вредоносные программы могут замедлять или обрывать связь с сервисом;
- проверить актуальность версии браузера и ОС;
- обратиться к владельцу ресурса, если вы думаете, что он еще не знает о возникшей проблемы с его сайтом;
- просто подождать — скорее всего, неисправность скоро будет устранена.
Заключение
Ошибка 500 связана с невозможностью сервера обработать команды, поступающие от браузера пользователя. Она может возникать из-за некорректных директив в файле .htaccess или PHP/CGI скриптах, нехватки оперативной памяти для обработки скрипта, превышения тайм-аута при исполнении PHP.
Диагностировать и устранять ошибку рекомендуется с помощью специальных сервисов. В первую очередь необходимо проверять файлы конфигурации, директивы .htaccess и плагины CMS.