Препятствием к открытию веб-страницы являются различные ошибки, возникающие на стороне сервера или клиента (в браузере). При исправном подключении к сайту браузер получает код 200. На веб-странице его не видно, так как пользователю для доступа к контенту не нужно прикладывать дополнительных усилий. В случае ошибки на загружаемой веб-странице появляется сообщение с кодом, по которому можно понять причину отсутствия соединения с сервером. Ошибка «500 Internal Server Error» — одна из наиболее серьезных, ведь пользователь редко может устранить ее самостоятельно, чаще всего требуется вмешательство владельца сайта.
- Что означает ошибка 500
- Причины возникновения ошибки 500
- Как устранить ошибку 500 на сайте
- Ошибки в файле .htaccess
- Ошибки в скриптах
- Ошибки в плагинах и расширениях CMS
- Не хватает оперативной памяти
- Некорректные права на файлы и каталоги
- Заключение
- Похожие статьи
- Что значит внутренняя неисправность сервера 5ХХ
- Специфика неполадки
- Влияние ошибки с кодом 5ХХ на СЕО-оптимизацию
- Ошибка 5ХХ и совместимость с браузером
- Почему появляется неисправность 5ХХ
- Алгоритм действий для пользователя
- Алгоритм действий для владельца или администратора сайта
- Восстановление из резервной копии
- Что означает код ошибки 500 и почему она возникает?
- Где можно встретить ошибку 500?
- Все причины возникновения ошибки
- Что делать при появлении ошибки?
- Подождать
- Сообщить администратору
- Что делать администратору при появлении ошибки?
- Проверить файл htaccess
- Проверить лог ошибок
- Проверить содержимое CGI-скриптов
- Проверить плагины и компоненты
- Увеличить объем оперативной памяти сервера
- Что означает код ошибки 500
- Что делать пользователю при ошибке 500
- Подождать
- Сообщить администратору ресурса
- Что при ошибке 500 пользователю делать бессмысленно
- Что делать администратору при ошибке 500
- Проверить синтаксис файла .htaccess
- Посмотреть лог ошибок
- Выставить права для CGI‑скриптов
- Проверить содержимое CGI‑скриптов
- Удалить или отключить недавно установленные плагины или компоненты
- Оптимизировать скрипты
- Увеличить объём оперативной памяти сервера
- Попросить помощи
Что означает ошибка 500
Ошибка 500 (Internal Server Error) — это внутренняя ошибка сервера, причиной которой стали настройки веб-хостинга или проблемы с кодом сайта. Сообщение с текстом «500 ошибка сервера» является общим для группы неисправностей. По коду не понятно, где именно и вследствии чего произошел сбой. Известно только, что это сервер не смог обработать запрос пользователя и отправить ему нужный контент. Чтобы восстановить работоспособность сайта, придется проверить несколько возможных источников проблемы. В статье расскажем том, что означает ошибка 500, почему она появляется и как ее устранить.
Причины возникновения ошибки 500
Ошибка 500 — свидетельство того, что запрос к сайту был отправлен браузером правильно, но сервер не может его обработать и выдать корректный ответ. Пользователи не могут попасть на сайт, а поисковые роботы теряют возможность обрабатывать веб-страницы — распознавать и оценивать их контент и определять их место в поисковой выдаче. Чтобы не потерять пользователей и результаты SEO-оптимизации, нужно быстро устранить ошибку. Для этого необходимо проверить сервер и расположенные на нем файлы сайта и программы на наличие одной из следующих проблем:
- синтаксические ошибки в файле .htaccess;
- ошибки в скриптах сайта;
- нехватка оперативной памяти при выполнении процесса;
- ошибки в плагинах, шаблонах и коде CMS;
- неправильно заданные права на каталоги и файлы.
Как устранить ошибку 500 на сайте
Когда причина возникновения «error 500» точно установлена, можно выбрать соответствующий метод ее решения. Разберем способы решения каждой причины ошибки.
Ошибки в файле .htaccess
Htaccess — файл, в котором содержатся настройки веб-сервера и правила работы сайта. В нем прописывают важные параметры, влияющие взаимодействие пользователя с веб-ресурсом:
- опции PHP;
- права доступа к файлам;
- перенаправление с HTTP на HTTPS;
- условия переадресации с одной веб-страницы на другую;
- вид веб-страниц с ошибками, которые они будут иметь в браузере пользователя и т. д.
Чтобы понять, является ли htaccess причиной недоступности сайта, необходимо выполнить несколько действий:
- Проверьте файл на синтаксические ошибки.
- Обратите внимание на формат файла: правильным будет один из двух — ASCII или ANSI. Из этого следует следующий пункт.
- Убедитесь, что файл был создан в правильном редакторе: Notepad, Notepad++ и Sublime Text. Если для этой цели вы использовали Microsoft Word, файл будет иметь ошибочное расширение Unicode.
- Временно создайте условия, при которых сервер не будет обращаться к файлу. Например, переименуйте его, перезагрузив при этом сайт. Если сообщение об ошибке пропадет, значит, нужно вернуть файлу имя htaccess и исправить его.
Ошибки в скриптах
Скрипты — сценарии, созданные для автоматического решения задач и расширения функционала сайта. Для поиска ошибки в скриптах владелец сайта может:
- Проверить, верно ли прописана функция.
- Узнать у хостинг-провайдера, поддерживает ли хостинг-компьютер нужную вам функцию.
- Проверить, правильно ли выбрана версия PHP.
Ошибки в плагинах и расширениях CMS
CMS — платформа, которую используют для создания сайта и управления его контентом. Ошибка может содержаться в коде самой CMS, а также в ее шаблонах и плагинах (дополнительных элементах из каталога). Другой причиной неисправности являются обновления плагинов, которые могут привести к несовместимости версий между всеми компонентами системы. Как решить проблемы:
- Открыть журнал операционной системы: если ошибка в CMS, он будет содержать ошибку 500 и сообщение «PHP Parse error: syntax error, unexpected». Журнал серверов Linux находится по адресу: /var/log/httpd/error_log.
- Найдите проблемную часть кода или плагина по пути, указанному в журнале системы.
- Отмените обновления плагина, вернув его к прежнему состоянию, или попробуйте заменить его другим, похожим по функционалу.
Не хватает оперативной памяти
При выполнении любых процессов на сервере задействуется его оперативная память. Если процесс трудоемкий, ему может понадобиться больше памяти, чем есть в его распоряжении. Когда ресурсы исчерпаны, возникает ошибка. Чтобы ее исправить, можно временно увеличить лимит памяти с помощью команды memory_limit. Расширяя лимит, помните об ограничении — нельзя указать число больше, чем есть на вашем личном сервере или хостинге.
Некорректные права на файлы и каталоги
Для файлов сайта устанавливаются правила, которые устанавливают действия, которые может с ним совершить та или иная группа пользователей. Устанавливаются права на read — чтение, write — запись и execute — выполнение. Каждое право имеет свое буквенное или числовое обозначение, например чтение — r или 4. Ошибки могут возникать, если разрешения для важных файлов установлены неправильно. Правильная конфигурация для прав — 755. Чтобы установить правильные настройки, можно воспользоваться командой: chmod 755 filename.
Заключение
Устранение ошибки 500 лежит на плечах владельца веб-ресурса. Без вашего оперативного вмешательства пользователи надолго потеряют доступ к сайту, а поисковые сети могут снизить его ранжирование.
Похожие статьи
С необходимостью регистрации доменного имени рано или поздно сталкивается любой веб-мастер. Есть немало способов это сделать — как бесплатно, так и на платной основе. Важно понимать, что вне зависимости от стоимости домена его нельзя «купить навсегда», а только временно арендовать и продлевать, если требуется. Все домены изначально принадлежат международной некоммерческой организации ICANN, которая управляет системой адресации в интернете. О том, как выбрать и как зарегистрировать домен самостоятельно, а также во сколько это может обойтись, читайте в нашей статье.
Структура и контент сайта продумываются перед началом его разработки. Каждая веб-страница находится в заранее определенном разделе и имеет свой URL-адрес. Ее содержимое тщательно продумывается и выстраивается вокруг поисковых запросов. Такая строгость нужна, чтобы веб-ресурс отвечал ожиданиям пользователей и хорошо ранжировался поисковыми системами. Изменения в архитектуре сайта происходят редко и всегда по веским причинам. Например, опубликованная информация может устареть, а функционал сайта расшириться. Некоторые веб-страницы становятся частью новых разделов, а те, которые утратили свою релевантность и перестали приносить трафик, — удаляются. На сайте могут остаться ссылки на старые страницы. Если пользователь воспользуется одной из них, сервер отправит ему ответ «Ошибка 404 — страница не найдена» или «Error 404 — Not Found». В данной статье поговорим о том, как исправить ошибку 404, каковы причины ее появления, и как найти все страницы с данным кодом ответа.
С ошибкой 500 периодически сталкивается каждый пользователь. В этой статье мы подробно расскажем, что это за сбой, и как его исправить.
Что значит внутренняя неисправность сервера 5ХХ
Комбинация 500 указывает на то, что запрос был отправлен браузером корректно, но серверу не удалось его обработать. Неполадка возникла на сервере, и ее причину он не смог распознать.
Уведомление о неисправности может иметь одно из следующих отображений:
- страница не доступна;
- ошибка5ХХ Internal Server Error;
- возникла непредвиденная ошибка;
- 5ХХ Internal Server Error;
- временная ошибка 5хх.
Иногда неисправность обозначается просто как error. Она может быть оформлена по-разному, в зависимости от того, какую страницу сформировал хозяин интернет-сайта. Ошибку 500 считают общим кодом состояния протокола HTTP. Эту комбинацию вместе с сообщением об непредвиденной ошибке посетитель видит, находясь на web-сайте.
Сообщение отображается посетителю, если возникла проблема со стороны сервера, и веб-ресурс открыть не удалось. Код состояния виден на любом устройстве или в любом браузере, так как сбой произошел на самом сервере. Такая ситуация считается серьезной не для пользователей, а для администратора и разработчика.
Специфика неполадки
В отличие от прочих кодов ответа, внутренняя неисправность 5хх лишена основания, которое легко идентифицируется. Обычно она происходит, когда веб-сервер не способен самостоятельно определить проблему. В любом варианте такой случай сигнализирует, что возникло непредвиденное обстоятельство, которое помешало серверу предоставить страницу. Ошибка этого вида считается неприятной в силу ее неопределенности. Есть несколько обстоятельств, которые могут спровоцировать отправку сообщения о неисправности 5ХХ. Их выявление и ликвидация доставляют администраторам много хлопот.
При открытии пользователем страницы браузер высылает на веб-сервер соответствующий запрос. Server принимает и обрабатывает этот запрос, отправляет обратно запрошенные ресурсы (PHP, HTML, CSS) и заголовок HTTP. Код состояния HTTP выступает способом уведомления о статусе запроса. Например, код 200 означает, что все в порядке. Код состояния 5ХХ сигнализирует о том, что возникло нечто непредвиденное. Есть много типов кодов ответа 500: 500, 501, 502, 503. Каждый набор цифр означает свою неполадку. В любом варианте внутренняя неисправность сервера 5ХХ – это указание на то, что запрос неисполним.
Код ответа HTTP 5хх – это не проблема браузера, компьютера или подключения к сети интернет. Они показывают общий ответ на любую необъяснимую погрешность удаленного компьютера. Такую внутреннюю ошибку вы увидите и в том случае, если проблема с веб-сервером не соотносится с другими кодами.
Когда возникает неполадка внутри сервера, она не оказывает влияния на весь веб-сайт. Обычно интерфейс сайта сталкивается с ошибкой с кодом 500, но его серверная часть остается доступной.
Влияние ошибки с кодом 5ХХ на СЕО-оптимизацию
Интернет-ресурс продвигается в сети с помощью специальных программ – роботов (ботов) поисковых систем. Они исследуют доступность web-документов, просматривают сайты. Если страница функционирует корректно, ее содержание анализируется. Когда поисковый бот выявляет ошибку на страничке, он оставляет ее статус без изменения на сутки. Это дает возможность администратору устранить погрешность. Если робот снова обнаружит ошибку на этой же странице, он исключает ее из выдачи в поисковике.
Наличие кода http 500 препятствует продвижению ресурса, так как указывает на его низкое качество. Сайты с ошибками ранжируются ниже других. Большое количество ошибок способствует попаданию под фильтры поисковиков.
Проверку страницы выполняют, используя Яндекс.Вебмастер или Console Google Search. Исключенную страничку можно вернуть обратно.
Если неполадка остается на сайте долго, это негативно воздействует на Search Engine Optimization.
Ошибка 5ХХ и совместимость с браузером
Интернет-ресурсы разрабатываются так, что они максимально совместимы с браузерами, поэтому к любому web-сайту легко получить доступ в любой ОС и в любом браузере. Http 5ХХ – универсальная погрешность. Ее можно увидеть, независимо от типа браузера и ОС.
Почему появляется неисправность 5ХХ
Перечислим частые причины неполадки:
- у файлов некорректные разрешения доступа;
- база данных повреждена;
- файл .htaccess поврежден или имеет ошибки кодирования;
- кодовые или синтаксические ошибки в CGI/Perl-скрипте;
- запущено слишком много процессов;
- устаревшие, несоответствующие плагины;
- исчерпан лимит памяти PHP на web-сервере.
Чаще всего неисправность вызывают неправильные разрешения доступа к каталогам и файлам. При неверном разрешении сайт может не получить нужные файлы, что означает сбой его работы. Распространенной причиной является также ограничение памяти PHP. Если сайт находится на хостинге с малым объемом памяти, то он может показывать такую неполадку, как 5ХХ Internal Server Error. Устранить препятствие может только сам владелец интернет-ресурса.
Посетитель может попробовать исправить ситуацию. В некоторых случаях удается обойти сбой системы и продолжить использование сайта.
Алгоритм действий для пользователя
Попав на сайт, который выдает ошибку 500, попытайтесь решить проблему самостоятельно. В большинстве случаев от пользователя ничего не зависит, так как внутренние неполадки в работе сервера вызваны проблемой с самим веб-сервером.
Если при открытии страницы возникла ошибка с кодом 5ХХ, можно предпринять меры:
- Обновите страницу. Это помогает, если препятствие возникло в результате перегрузки сервера или хоста. Также можно открыть страницу в другом браузере, чтобы выяснить, останется ли ошибка.
Перезагрузку можно выполнить, используя комбинации клавиш:
- для notebook – Fn + F5;
- для ПК – F5;
- для устройств бренда Apple — Fn + F5.
Отдельного внимания заслуживает ошибка, если она отобразилась на странице интернет-магазина. Если перезагрузить страницу в процессе оформления заказа, то он может дублироваться. В таком случае стоит проверить, актуален ли предыдущий заказ.
- Используйте другое устройство, чтобы на нем открыть проблемную страницу. Если у вас есть альтернативный доступ к интернету, например смартфон, зайдите на веб-сайт (ФСС или другой) на нем, пользуясь соединением Wi-Fi.
- При невозможности использования другого устройства попробуйте посетить сайт с помощью веб-прокси. Эта внутренняя служба позволяет просматривать странички с помощью удаленного компьютера.
- Вернитесь через время. Обычно владельцы или админы сайтов стараются устранить неполадку как можно быстрее. Подождите немного, а затем перезагрузите URL-адрес.
- Устраните файлы cookie из вашего браузера. Можно освободить историю браузера и удалить файлы cookie. Если они взаимосвязаны с веб-страницей, на которой есть неполадка, их удаление может помочь устранить проблему.
- Если вышеуказанные меры не помогли, свяжитесь с владельцем ресурса и сообщите ему об ошибке.
Алгоритм действий для владельца или администратора сайта
Если внутренняя неисправность веб-сервера возникла на вашем ресурсе, то сделайте следующее:
- Отключите тему/плагин. Конфигурация удаленного компьютера может находиться в конфронтации с недавно активированными программами, сторонними сценариями или надстройками. Пробуйте удалять надстройки программного обеспечения по одной, чтобы выявить причину неполадки. Если сайт работает на WordPress, плагины легко деактивировать.
- Проверьте корректность настройки PHP. Если неполадка относится к тайм-ауту PHP, обработайте ошибки в скрипте или создайте правильный тайм-аут. Иногда сценарий не запускается из-за неправильных разрешений для папки или файла. Проверьте разрешения и правильность их установки.
- Проверьте код внутреннего файла .htaccess вашего web-сайта. Неправильный код или структура этот файла могут быть причиной внутренней ошибки. Файл .htaccess необходимо отредактировать. Чтобы найти его на своем сайте, можно использовать файловый менеджер cPanel. Также это делают через FTP/SFTP. Обычно файл располагается в каталоге public_html. Сервер скрывает его от просмотра по умолчанию. Включите скрытые файлы, чтобы найти файл .htaccess. Неполадки в файле устраняют построчно. Как исправить, если возникли затруднения? Проконсультируйтесь с разработчиком, который создал сайт. Обычно ликвидация таких недочетов включена в гарантийное обслуживание.
- Проверьте правильность установки нового ПО.
- Обратитесь в техническую поддержку веб-сервера. Если отладка сценариев и другие методы не устранили проблему, вы можете обратиться к поставщику услуг, чтобы получить доступ к журналам ошибок.
Если у вас не получилось определить причину появления HTTP 500 с помощью наших рекомендаций, постарайтесь вспомнить, когда именно возникла неполадка, и какие действия вы предпринимали в то время. Возможно, что вы установили новый компонент или обновили тему, внесли какие-либо изменения вручную. Обычно отмена таких изменений полностью устраняет внутреннюю ошибку.
Восстановление из резервной копии
Если никакие меры не помогли, сайт можно восстановить до более раннего состояния, используя резервную копию. Это возможно, если вы регулярно выполняли копирование файлов/баз данных, которые использует web-ресурс.
Внутренняя ошибка сервера 5хх – это неисправность общего характера. Она отображается всякий раз, когда веб-сервер не может представить более конкретную неполадку. В некоторых случаях ситуацию трудно исправить своими силами. Лучше обратиться к профессионалам. IT-инженеры ittelo.ru готовы оказать вам помощь в устранении этой проблемы.
- 29 мар 2023
Её просто найти, трудно исправить и невозможно забыть: кто эта таинственная мошенница, из-за которой компании теряли миллионы денег.
Иллюстрация: Оля Ежак для Skillbox Media
Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.
Среди всех HTTP-ошибок пятисотая самая опасная — ведь никто до конца не понимает, что её вызвало. Само число 500 говорит о том, что проблема возникла на стороне сервера, но вот что именно произошло — непонятно.
У неё лаконичное описание: Internal Server Error, что означает «внутренняя ошибка сервера». Никаких подробностей и намёков на решение. Но давайте не будем унывать и постараемся разобраться, как она возникает, что означает и какими методами её можно попытаться исправить.
Ошибка 500 (Internal Server Error) — это когда сайт упал и пока его никто не смог поднять. Вообще, все ошибки, коды которых начинаются с пятёрки, указывают на вину разработчиков.
Когда возникает ошибка 500, сервер перестаёт обрабатывать запросы пользователей, продолжая при этом бодро работать и рапортовать о своих успехах. А вот пользователи в этот момент почему-то получают сообщение об ошибке. Это приводит к бесконечной попытке браузера загрузить страницу. В общем, дедовский метод с перезагрузкой тут не пройдёт.
Ошибка 500 — Internal Server Error, что в переводе означает «внутренняя ошибка сервера», а значит, решить её могут только администраторы и разработчики сайта. Но проблема в том, что она — уникальная. Сервер выдаёт её, когда остальные коды не подошли, и получается, что проблема действительно серьёзная. Решить такую проблему — всё равно что победить на городской олимпиаде по русскому языку «Русский медвежонок».
Сообщение о подобной ошибке может выглядеть так:
А в виде ответа на HTTP-запрос сообщение выглядит вот так:
Здесь мы запрашиваем страницу по HTTP, а сервер возвращает примерно такое сообщение об ошибке: «Внутри сервера что-то не так, и он не может обработать запрос пользователя».
Само сообщение содержит информацию о том, что сайт не работает из-за внутренней ошибки на сервере. То есть проблема не в браузере, не на стороне пользователя, а именно на сервере: «The server encountered an internal error or misconfiguration and was unable to complete your request».
Ошибка 500 может ухудшить SEO и продвижение сайта в поисковике. Она приводит к тому, что поисковые роботы не смогут полностью проиндексировать сайт, потому что не получат доступ к некоторым страницам.
Если она возникает на регулярной основе, поисковые системы начнут понижать рейтинг вашего сайта, посчитав нестабильным и ненадёжным.
Но важнее всего вот что: когда пользователи сталкиваются с такой проблемой, они закрывают ваш сайт и уходят на страницы конкурентов. Растёт показатель отказов. А поисковые системы учитывают поведенческие факторы при ранжировании сайтов.
Итог очевиден — если вы заметили, что на вашем сайте часто возникает ошибка 500, стоит немедленно её исправить. Это поможет сохранить репутацию сайта и позиции в поисковых системах.
Ошибка 500 может возникнуть когда угодно, но чаще всего это происходит, когда на сайте проводятся технические работы — например, разработчики меняют конфигурацию сервера или он вовсе вышел из строя.
Причины возникновения чаще всего включают в себя следующее:
- Проблемы на сервере. Например, неправильный синтаксис, неправильная настройка сервера или проблемы с базой данных.
- Проблемы с файлами сайта. Это могут быть те же проблемы с синтаксисом, неправильное размещение файлов или неправильное использование функций.
- Проблемы с соединением. Например, неполадки в сети, медленное или нестабильное соединение, проблемы с DNS.
Если на сайте возникла ошибка 500, вы, как пользователь, это заметите не мгновенно — для этого вам придётся отправить на сайт какой-то запрос, например обновить страницу или заполнить какую-то форму (ведь чаще всего мы просматриваем уже закэшированные страницы). Тогда-то браузер попытается вступить в диалог с сервером и выдаст Internal Server Error.
В журналах, или логах, находятся записи о том, какие запросы были отправлены на сервер и как он на них ответил. Ещё там можно найти информацию о том, какие скрипты или приложения вызвали ошибку, а также о других деталях, которые способны помочь в определении проблемы.
Вот пример лога с ошибкой 500:
В этом примере лог сообщает, что при обработке запроса на получение страницы index.php произошла ошибка. Сервер не смог правильно обработать скрипт и вывести заголовки страницы, что привело к Internal Server Error. Для определения точной причины придётся провести дополнительный анализ.
Ещё одна распространённая причина — повреждения в файле .htaccess, где хранятся настройки сервера: управление доступом для пользователей, кэширование и редиректы. Повредить его можно, просто неправильно написав команду:
Проблема в первой строке — точка там лишняя. И эта мелочь вполне может вызвать ошибку 500. При этом обнаружить такую деталь будет очень непросто, потому что она практически незаметна.
Кроме логов можно использовать другие инструменты — например, инспектор браузера или специализированные программы для анализа логов. Ряд CMS вроде WordPress или Drupal могут также указать на причины проблемы благодаря встроенным инструментам. Дело в том, что у каждой CMS есть собственная система мониторинга таких проблем. Вот пример сообщения в WordPress:
Как правило, CMS предоставляют очень ограниченную информацию о причинах, поэтому лучше всё-таки изучать логи.
Если вы пользователь, то исправить проблему, скорее всего, никак не получится. Но можно попробовать сделать следующее:
- Перезагрузить страницу. Иногда ошибка возникает из-за временной нагрузки на сервер, а перезагрузка страницы может решить проблему.
- Проверить соединение. Убедитесь, что ваше интернет-соединение работает стабильно.
Чтобы исправить ошибку на стороне сервера, нужно приложить больше усилий. Вероятно, придётся использовать средства отладки и тестирования кода. Ниже представлены несколько шагов, которые помогут вам найти и исправить ситуацию:
- Проверьте логи сервера. Это позволит определить, что вызывает ошибку и где это происходит.
- Проверьте базу данных. Убедитесь, что база данных работает корректно.
- Проверьте код на наличие ошибок. Проблема может возникнуть из-за опечаток, ошибок синтаксиса, неправильных путей к файлам и неправильных конфигураций.
- Измените настройки сервера. Попробуйте поменять разные конфигурации и посмотреть, к чему это приведёт.
- Проверьте файл .htaccess. Убедитесь, что в нём нет ошибок, таких как неправильная настройка редиректов, блокировка IP-адресов или неправильное форматирование.
- Проверьте сторонние плагины и расширения. Иногда проблема может возникнуть из-за их неправильной работы. Проверьте, что все они работают корректно.
- Проверьте файлы сервера. В них тоже могут быть ошибки или неправильные настройки.
- Попробуйте переустановить CMS или рабочее окружение. К этому имеет смысл прибегать, если все другие способы не сработали. Но это уж совсем радикальный совет — лучше обратитесь к кому-то более опытному, наверняка он поможет.
- Если же не помогло даже это, пора писать три письма и бросать программирование (конечно, чтобы открыть свою кофейню).
Борьба может затянуться надолго — ведь главная причина часто бывает непредсказуема, неочевидна и весьма коварна.
Важные факты об ошибке 500 (Internal Server Error), которые стоит запомнить:
- Ошибка 500 (Internal Server Error) — это сообщение о проблеме, которое может появиться при попытке получить доступ к веб-странице.
- Она может возникнуть по разным причинам — например, из-за проблем на стороне сервера, неправильных настроек сайта или ошибок в коде.
- Для того чтобы исправить проблему, нужно определить её причину. Обратитесь к логам сервера или к специалистам по веб-разработке.
- Она негативно влияет на SEO-продвижение сайта. Поэтому исправляйте её сразу же.
- Обновляйте ПО и проверяйте код на ошибки — это лучший способ держать сайт в хорошем техническом состоянии.
Научитесь: Профессия Веб-разработчик
- Что означает код ошибки 500 и почему она возникает?
- Где можно встретить ошибку 500?
- Все причины возникновения ошибки
- Что делать при появлении ошибки?
- Что делать администратору при появлении ошибки?
Что означает код ошибки 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 в рамках используемого вами пакета. Если будет введено большее значение, сервер проигнорирует его. Также помните, что это лишь временное решение: как только сайт заработает, потребуется выяснить причину высокого потребления памяти. Высока вероятность, что в коде содержится ошибка.
Если ни один из этих способов не помог, стоит связаться с хостинг-провайдером. Но прежде чем сделать это, проверьте состояние серверов: при возникновении проблем многие провайдеры сообщают эту информацию на странице состояния или в социальных сетях.
В статье использовались материалы следующих источников:
Инструкция для пользователей и владельцев ресурса.
Что означает код ошибки 500
Ошибка 500 (Internal Server Error) — это внутренняя проблема сервера. Она возникает, когда браузер или другой клиент отправляет серверу запрос, а тот не может его обработать.
Одна из самых частых причин появления ошибки 500 — это неправильный синтаксис файла .htaccess. Кроме того, она порой возникает после загрузки на сервер неверных CGI‑скриптов или установки некорректных прав доступа.
То есть в ошибке 500, как и в других ответах с кодом, который начинается на цифру 5, виноваты разработчики или администраторы сервера. Но никак не пользователи.
Что делать пользователю при ошибке 500
Если вы увидели ошибку 500 на чужом сайте, есть два варианта.
Подождать
Если у вас нет доступа к этому ресурсу, вы не сможете отредактировать файл, изменить настройки или выполнить другие подобные действия. Поэтому стоит подождать, пока администратор исправит ошибку, и зайти на сайт позднее.
Сообщить администратору ресурса
Не все владельцы сайтов круглосуточно мониторят логи и читают сообщения об ошибках. Вполне возможно, что администратор просто не в курсе, что сайт перестал работать.
В таком случае вы можете помочь. Попробуйте найти контактную информацию и связаться с владельцем ресурса, чтобы сообщить о проблеме. Если на самом сайте из‑за ошибки 500 вы никаких полезных данных не видите, найдите сохранённую копию страницы в поисковиках или в архиве интернета.
Что при ошибке 500 пользователю делать бессмысленно
Так как проблема связана с сервером, то нет резона что‑то предпринимать со стороны клиента. Поэтому не пытайтесь:
- перезагружать компьютер;
- менять браузер;
- переустанавливать ПО;
- перезагружать роутер.
Что делать администратору при ошибке 500
Конечно, многое зависит от специфики вашего ресурса: на каком движке он работает, на каком хостинге располагается и что вы меняли на сайте в последнее время. Но всё же универсальные рекомендации в большинстве случаев помогают избавиться от ошибки 500.
Советуем последовательно попробовать каждый из вариантов, если он, конечно, актуален для вашего ресурса.
Проверить синтаксис файла .htaccess
Если вы используете веб‑сервер Apache, то в корне вашего сайта или во вложенных папках, скорее всего, есть файл .htaccess. В нём хранятся серверные настройки.
В большинстве случаев ресурс будет работать и без этого файла. Попробуйте переименовать .htaccess, например, в .htaccess_, а затем снова зайти на главную страницу сайта.
Если ошибка 500 исчезла, значит, дело именно в .htaccess. Проверьте синтаксис этого файла — возможно, при редактировании вы где‑то вставили лишний символ или допустили опечатку. Если есть предыдущая версия настроек, верните её и посмотрите, появляется ли ошибка 500.
Иногда помогает закомментировать строку Options в .htaccess — вставить # в самом её начале. Если это не сработало, закомментируйте и другие строки, а затем последовательно убирайте #, чтобы найти проблемное место в файле.
Посмотреть лог ошибок
Если вы недавно проводили какие‑то работы на сайте, возможно, это привело к ошибке 500. Откройте логи и посмотрите, нет ли там сообщений о проблемах. Если есть, проанализируйте их и попробуйте отменить последние корректировки.
Хостеры обычно указывают, где по умолчанию хранятся логи и как получить к ним доступ из панели управления. Эти сведения можно найти в разделах помощи или FAQ (frequently asked questions — часто задаваемые вопросы) на сайте хостинга.
Выставить права для CGI‑скриптов
Если вы используете CGI‑скрипты, то сами файлы с ними и папки, в которых они лежат, должны иметь право доступа 0755 (drwxr‑xr‑x). Такая комбинация разрешает запись в них только для владельца. Остальные пользователи могут лишь читать эти файлы и запускать их.
Если у вас установлены другие права доступа, это может приводить к ошибке 500.
Проверить содержимое CGI‑скриптов
Корректные CGI‑скрипты должны иметь окончания строк в формате Unix (\n), а не в формате Windows (\r\n). Чтобы сохранить правильный вариант, загружать код на большинство хостингов нужно по FTP в режиме ASCII. Если вы не знаете, какие настройки использовали, перезалейте скрипты и посмотрите, не исчезла ли ошибка 500.
Также CGI‑программы могут формировать неправильные HTTP‑заголовки ответа. В этом случае вы, скорее всего, увидите ошибки в логах.
Удалить или отключить недавно установленные плагины или компоненты
Бывает, что отдельные компоненты сайта или плагины конфликтуют между собой. Это также приводит к ошибке 500 и другим проблемам на стороне сервера.
Если вы недавно устанавливали модули либо обновляли их, попробуйте отключить эти элементы в панели администрирования. Возможно, после этого на сайте возникнут другие ошибки. Но если ответ 500 больше не приходит, дело как раз в конфликте компонентов или плагинов.
Оптимизировать скрипты
Если скрипты выполняются долго или для них не хватает ресурсов, попробуйте пересмотреть их содержимое. Возможно, код нуждается в оптимизации, чтобы он потреблял меньше процессорного времени и оперативной памяти.
Особенно часто скриптам не хватает ресурсов, если вы используете виртуальный хостинг. Там количество памяти жёстко ограничено, чтобы у всех аккаунтов в рамках одного физического сервера были равные возможности.
Попробуйте разбить скрипт на блоки и оценить эффективность работы каждого из них. Если в коде много внешних вызовов или потребление памяти стабильно растёт вплоть до установленного лимита, с этим точно стоит что‑то сделать.
Увеличить объём оперативной памяти сервера
Бывает, что даже после оптимизации скриптов они всё равно потребляют слишком много памяти. В этом случае придётся перейти на более дорогой пакет обслуживания на хостинге или, если предоставляется такая возможность, увеличить непосредственно выделение памяти. И не переплачивать за другие ресурсы, которые вам не нужны.
Попросить помощи
Обратитесь в службу поддержки хостера или на профильный форум. Поищите похожие ошибки на Stack Overflow — если там нет подходящей темы, создайте новую. Опишите ситуацию как можно более детально и будьте готовы пробовать различные варианты, которые вам предложат в комментариях.
Правда, порой ответов приходится ждать долго. Поэтому имеет смысл зайти в похожие темы и попросить помощи там.