Серверная ошибка 500 что это

Ошибка 500

Внутренняя ошибка 500 — Internal Server Error

Ошибка с кодом 500 (internal server error) – внутренняя ошибка сервера.

500я ошибка

Значение 500 — код статуса протокола HTTP. Причина ошибки с таким кодом — неисправность конфигурации сервера, либо появление информации о том, что произошел отказ компонента. При ошибке 500 программное обеспечение работает, но есть серьезные внутренние проблемы, которые мешают запросам правильно обрабатываться.

Такая ошибка появляется у построенных на разных CMS сайтах.

Причины возникновения 500 ошибки сервера и способы их исправить

Ошибка 500 говорит о некорректной обработке запросов. Из-за этого пользователи и поисковые системы не могут полноценно работать с сайтом. Необходимо выявить и исправить причину, из-за которой возникло сообщение об ошибке. В случае, когда ошибка появляется часто и устраняется только технической поддержкой, стоит сменить хостинг.

Мы предлагаем бесплатный перенос Ваших проектов с другого хостинга на наш.

Ошибка 500 — внутренняя, поэтому если она возникла на нужном для просмотра сайте, то можно только посетить его позже, когда восстановят работоспособность.

Причин, по которым появляется ошибка 500 — огромное количество. Задача сводится к поиску и устранению неисправности.

Неправильные права доступа

Частая причина возникновения ошибки – установка неправильных прав доступа на файлы скриптов — 777. Из-за этого они блокируются сервером. Такая настройка разрешает всем вносить изменения в файл, что недопустимо с точки зрения обеспечения безопасности. В случае, когда требуется установить такие права, поставщик всегда сообщает об этом заранее.

Как исправить?

С помощью файлового менеждера (на скриншоте — бесплатная программа FileZilla) просмотреть права доступа к файлу или папке на сервере.

меняем права доступа к файлу

В первую очередь надо проверить, каким образом настроены права доступа. Для каждого типа элементов они проверяются индивидуально. Для папок рекомендуется значение 755, для скриптов — 600, а для других файлов — 644.

Оптимальное решение — один человек. который может управлять аккаунтом. Не желательно давать кому-либо права доступа к корневым папкам сайта.

Высокая длительность работы скрипта

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

Как исправить?

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

Ошибки htaccess

У файла «.htaccess» определен строгий синтаксис, который нельзя нарушать. Если в нем написаны ошибочные директивы, то это приведет к появлению ошибки 500. Возможно, директива написана правильно, но не поддерживается.

Как исправить?

меняем права доступа к файлу

В корневой папке сайта нужно поискать файл «.htaccess». Если он нашелся, то нужно скопировать его, чтобы не потерять, а затем удалить из папки. После этой процедуры сайт может заработать. В таком случае станет точно известно, что причина была в этом файле. Затем нужно исправить файл (самый простой способ — добавить файл из чистого дистрибутива используемой системы управления сайтом).

Кроме того, есть возможность посмотреть сведения о появившихся ошибках. Ошибки сервера заносятся в специальный файл «error.log». В нем нужно найти строки о том, какая из директив ошибочна. Например, информация «Invalid command ‘RewritRule’» говорит о том, что директива «RewritRule» написана с опечаткой. Исправление на «RewriteRule» убирает эту ошибку.

Нехватка памяти для работы кода

На виртуальном хостине контролируется, какое количество памяти потребляет скрипт. В случае, когда скрипт хочет использовать слишком много памяти, возможно появление сообщения об ошибке 500.

Эта функция предотвращает большую нагрузку на сервер со стороны каждого аккаунта.

Как исправить?

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

Тарифы виртуального хостинга с выбором периода предоплаты от 1 месяца до 3-х лет.

Ошибка в cgi скрптах

Ошибка 500 чаще появляется из-за ошибок в «htaccess», но еще одна её причина – неправильная работа с CGI-скриптами.

Как исправить?

Существует три основных правила, которые могут быть нарушены.

  • Формат окончания каждой из строк — UNIX (n), а не Windows (rn). Для обеспечения такого условия их загрузка проводится по FTP в режиме ASCII.
  • Права доступа для скриптов CGI и папок, где они хранятся — 0755. Такая настройка разрешает процедуру записи исключительно владельцу, чтоб правильно с позиции безопасности.
  • При работе скрипта CGI могут появиться неправильные HTTP-заголовки ответа. Следует проанализировать содержимое файла «error log» на предмет ошибок.

Ошибка 500 при использовании WordPress

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

Файл «.htaccess» используется WordPress в случае, когда обычная структура ссылок была изменена на ЧПУ. Помимо этого, его используют плагины WordPress, которые осуществляют резервное копирование и некоторые другие функции.

Чаще всего файл «.htaccess» создается однократно, но в WordPress это происходит регулярно. Если в файл заносится ошибка, то хостинг считает его поврежденным и появляется «ошибка 500». Записывать лишние данные, которые воспринимаются как повреждения, могут:

  • движок;
  • тема;
  • плагины, которые активированы.

Если приведенные методы не помогли, то в качестве крайнего варианта можно отключить функцию wordpress, которая создает и переписывает файл «.htaccess». Этот метод подходит только как временная мера, поскольку вызывает проблемы при активации плагинов.

Мы предлагаем бесперебойный WordPress хостинг, оптимизированный под создание сайтов на этой CMS.

Поочередная проверка элементов позволяет отследить, какой из них — причина ошибки. В процессе поиска неисправности постоянно проверяют, не исчезает ли ошибка 500:

  • сменить тему и проверить наличие ошибки;
  • по очереди деактивировать плагины и следить за изменениями;
  • поиск ошибок в сторонних скриптах;
  • поиск проблемы в движке WordPress.

Сбои плагина иногда видно по искажению внешнего вида сайта. Возможно наличие ошибок в работе конкретного плагина или его конфликт с остальными.

Если файл «.htaccess» – не причина проблемы, нужно убедиться, что скрипты работают с нормальной скоростью. Поиск медленно работающиех скриптов можно выполнить самостоятельно, либо попросить помощи у специалистов службы технической поддержки. Файл с обнаруженной ошибкой и временем ее появления отражается в файле «Error Log».

отключаем плагины WP

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

На хостинге выделяется определенный объем оперативной памяти для использования. Ошибка 500 появится и из-за превышения этого допустимого значения. В админ-панели можно убедиться, не превысил ли сайт этот лимит. Там приведены сведения о уровне загруженности сервера. В файле с перечнем появляющихся ошибок видно, какой из файлов вызвал чрезмерную загрузку. Его придется обновить или удалить, если это допустимо.

Увеличить объем памяти возможно путем корректирования файла. В корне хостинга нужно найти «wp.config.php» и после последней строки добавить в него код:«define(‘WP_MEMORY_LIMIT’, ’64M’».

В ряде случаев помогает обновление WordPress до последней версии.

Ошибка 500 при входе в административную панель Joomla

Ошибка 500 иногда возникает после ввода логина и пароля для панели администрирования Joomla – «админки». При этом работоспособность сайта сохраняется. Код ошибки не указывает на конкретную проблему, поэтому требуется её самостоятельный поиск.

Как исправить?

В журнале ошибок хранятся сообщения об ошибках. Он называется «error.php» и лежит в каталоге «logs». При поиске ошибок, которые появились недавно, важно обратить на последние записи в этом файле. Там содержатся сведения о нарушениях в работе модулей, если они происходили.

Другая вероятная причина ошибки — невозможность записи в каталоги «logs» и «tmp». Возможно, потребуется установка полных прав для этих каталогов – 777.

Рекомендуется проверить правильность путей к каталогам «logs» и «tmp» в файле конфигурации «configuration.php». Желательно указать полные пути к этим каталогам.

Если проблема сохраняется, рекомендуется проверить корректность файла «htaccess» и по очереди отключить и включить все логины и плагины через базу данных. В «htaccess» возможны ошибки, опечатки и лишняя информация. Например, ошибка 500 появляется из-за того, что не закомментирована строка Options +FollowSymLinks. При редактировании файла можно не удалять, а комментировать строки и проверять, как изменяется после этого работа сайта.

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

iPipe – надёжный хостинг-провайдер с опытом работы более 15 лет.

Мы предлагаем:

  • Виртуальные серверы с NVMe SSD дисками от 299 руб/мес
  • Безлимитный хостинг на SSD дисках от 142 руб/мес
  • Выделенные серверы в наличии и под заказ
  • Регистрацию доменов в более 350 зонах

Коды ошибок, которые начинаются с цифры 5, говорят о проблемах на стороне сервера. Но это не значит, что советы по их исправлению будут интересны только администраторам выделенных серверов. Узнаем, что нужно делать с пятисотыми ошибками и владельцу VPS, и пользователю виртуального хостинга.

500 Internal Server Error (Внутренняя ошибка сервера)

Серверу не удалось обработать запрос к сайту. Возможных причин для этого может быть много, но сузить их круг можно, восстановив последовательность ваших действий перед сообщением об ошибке. Также изучите само сообщение: комментарий «Internal Server Error» говорит о проблемах с файлом .htaccess, текст «HTTP ERROR 500» — о проблемах со скриптами, а текст «PHP Parse error: syntax error, unexpected» или «Internal Server Error nginx» — о неполадках в CMS.

Ошибка 500

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

2. Посмотрите файл .htaccess на предмет ошибок в командах. Закомментируйте директиву Options, поставив перед ней решётку: если после этого ошибка 500 перестанет появляться, значит, есть нарушения в синтаксисе и в описании команд.

3. Убедитесь, что права доступа к файлам, папкам и скриптам выставлены верно. Для папок рекомендуется значение 755, для скриптов — 600, а для других файлов — 644. При других вариантах прав доступ к сайту может блокироваться в целях безопасности.

4. Проверьте, всё ли в порядке со скриптами. Возможно, какой-то из скриптов слишком медленный или время ожидания ответа от сервера слишком мало. Если при просмотре лог-файлов выяснится, что какой-то из скриптов незапланированно требует слишком много памяти, оптимизируйте его или удалите. А если обнаружится, что какой-то из скриптов вовсе не запускается, убедитесь, что функция прописана верно, поддерживается сервером и соответствует используемой версии PHP.

5. Отдельно обратите внимание на CGI-скрипты: вероятно, строки в них имеют не те окончания, что исправляется загрузкой скриптов через FTP в режиме ASCII. Также некорректная работа CGI-скриптов может быть причиной ошибок в HTTP-заголовках, что тоже приводит к ошибке 500. Либо же имеются ошибочные директивы, предназначенные для работы со скриптами.

502 Bad Gateway (Ошибочный шлюз)

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

Ошибка 502

1. Перезагрузите страницу. Зайдите на любой другой сайт, которой точно должен работать в данный момент. Это поможет узнать, есть ли у вас доступ к интернету в принципе. Если доступ есть, очистите файлы cookies в браузере, а затем посетите сайт снова.

2. Убедитесь, что на ваш сайт не совершается DDoS-атака. В противном случае обратитесь к хостинг-провайдеру.

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

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

5. Посмотрите настройки сервера. Возможными поводами для появления ошибки 502 могут быть:
• неполадки после установки обновлений;
• превышение лимитов на число обращений к внешним ресурсам и на время ответа сервера;
• некорректные лимиты в файлах конфигурации ini;
• превышение лимита на число php-cgi-процессов;
• недостаточная оптимизация скриптов;
• недостаточная оптимизация запросов;
• неправильная работа модулей (если ошибка возникает при обращении к скриптам конкретного расширения).

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

503 Service Unavailable (Сервис недоступен)

Сервер не работает из-за перегрузок. Либо же происходит плановая перезагрузка или отключение сервера: в этом случае вместе с сообщением об ошибке после слов «Retry-After» должно отображаться время, когда сервер вернётся в работу. Если же ошибка 503 появляется часто и не по причине плановых работ, то это говорит о неполадках, которые следует устранить.

Ошибка 503

1. Сначала просто подождите. Возможно, причина в длинной очереди запросов к серверу, что не требует вмешательства.

2. Как и в случае с ошибкой 502, удостоверьтесь, что на сайт не производится DDoS-атака.

3. Если используется связь с удалённым сервером, убедитесь, что она стабильная, а тайм-аут ожидания ответа невысокий.

4. Проверьте, не слишком ли активно посещают ваш сайт поисковые роботы. Если это имеет место быть, ограничьте их активность.

5. Удалите тяжёлые или вовсе ненужные плагины и компоненты.

6. Если возможно, оптимизируйте подгрузку файлов сайта, чтобы снизить число запросов.

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

8. Оптимизируйте почтовую рассылку: распределяйте отправку писем по времени, запускайте рассылку в часы наименьшей нагрузки.

9. Оптимизируйте SQL-запросы, выявите самые медленные из них с помощью лог-файлов.

504 Gateway Timeout (Шлюз не отвечает)

Один из серверов не дождался ответа от вышестоящего сервера, о чём сообщает кодом 504.

Ошибка 504

1. Перезагрузите страницу, убедитесь в стабильности работы сетевых устройств.

2. Как и в предыдущих случаях, проверьте работу скриптов. Важно, чтобы они выполнялись не слишком долго, а внешние соединения происходили успешно.

3. При чрезмерной нагрузке на сервер увеличьте его ресурсы или оптимизируйте сайт.

4. Если возможно, увеличьте время ожидания при использовании nginx как прокси-сервера для Apache. Для этого добавьте эти строки в блоке server в файле nginx.conf:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

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

Также посмотрите ответы на вопросы из нашего раздела FAQ:

  • Отчего возникает ошибка 500?
  • Отчего возникает ошибка 503?
  • Как изменить страницы ошибок 403, 404 и 500?

Кстати, недавно мы в целом рассказали о кодах состояния сервера, к которым относятся в том числе и коды ошибок.

В статье мы расскажем, как исправить ошибку (код состояния) 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. 1.

  2. 2.

    Перейдите во вкладку «Плагины» ― «Установленные».

  3. 3.

    Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:

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

#статьи

  • 29 мар 2023

  • 0

Её просто найти, трудно исправить и невозможно забыть: кто эта таинственная мошенница, из-за которой компании теряли миллионы денег.

Иллюстрация: Оля Ежак для Skillbox Media

Дмитрий Зверев

Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.

Среди всех HTTP-ошибок пятисотая самая опасная — ведь никто до конца не понимает, что её вызвало. Само число 500 говорит о том, что проблема возникла на стороне сервера, но вот что именно произошло — непонятно.

У неё лаконичное описание: Internal Server Error, что означает «внутренняя ошибка сервера». Никаких подробностей и намёков на решение. Но давайте не будем унывать и постараемся разобраться, как она возникает, что означает и какими методами её можно попытаться исправить.

Ошибка 500 (Internal Server Error) — это когда сайт упал и пока его никто не смог поднять. Вообще, все ошибки, коды которых начинаются с пятёрки, указывают на вину разработчиков.

Когда возникает ошибка 500, сервер перестаёт обрабатывать запросы пользователей, продолжая при этом бодро работать и рапортовать о своих успехах. А вот пользователи в этот момент почему-то получают сообщение об ошибке. Это приводит к бесконечной попытке браузера загрузить страницу. В общем, дедовский метод с перезагрузкой тут не пройдёт.

Ошибка 500 — Internal Server Error, что в переводе означает «внутренняя ошибка сервера», а значит, решить её могут только администраторы и разработчики сайта. Но проблема в том, что она — уникальная. Сервер выдаёт её, когда остальные коды не подошли, и получается, что проблема действительно серьёзная. Решить такую проблему — всё равно что победить на городской олимпиаде по русскому языку «Русский медвежонок».

Сообщение о подобной ошибке может выглядеть так:

Это может быть просто текст с большой надписью: «Внутренняя ошибка сервера»
Скриншот: Skillbox Media

А может быть ещё и картинка впридачу
Скриншот: Skillbox Media

А в виде ответа на HTTP-запрос сообщение выглядит вот так:

HTTP/1.1 500 Internal Server Error
Date: Tue, 14 Feb 2023 15:30:00 GMT
Server: Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
Content-Length: 462
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE html>
<html>
<head>
	<title>500 Internal Server Error</title>
</head>
<body>
	<h1>500 Internal Server Error</h1>
	<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
	<p>Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.</p>
	<p>More information about this error may be available in the server error log.</p>
</body>
</html>

Здесь мы запрашиваем страницу по HTTP, а сервер возвращает примерно такое сообщение об ошибке: «Внутри сервера что-то не так, и он не может обработать запрос пользователя».

Само сообщение содержит информацию о том, что сайт не работает из-за внутренней ошибки на сервере. То есть проблема не в браузере, не на стороне пользователя, а именно на сервере: «The server encountered an internal error or misconfiguration and was unable to complete your request».

А ещё в описании есть небольшой совет пользователю, как исправить проблему (никак): «Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error». Мы не знаем ни одного человека, который бы таким советом воспользовался 🙂 Разве что вы сами — тот самый пресловутый администратор, да к тому же любитель рекурсии.

Ошибка 500 может ухудшить SEO и продвижение сайта в поисковике. Она приводит к тому, что поисковые роботы не смогут полностью проиндексировать сайт, потому что не получат доступ к некоторым страницам.

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

Но важнее всего вот что: когда пользователи сталкиваются с такой проблемой, они закрывают ваш сайт и уходят на страницы конкурентов. Растёт показатель отказов. А поисковые системы учитывают поведенческие факторы при ранжировании сайтов.

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

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

Фото: Med Photo Studio / Shutterstock

Причины возникновения чаще всего включают в себя следующее:

  • Проблемы на сервере. Например, неправильный синтаксис, неправильная настройка сервера или проблемы с базой данных.
  • Проблемы с файлами сайта. Это могут быть те же проблемы с синтаксисом, неправильное размещение файлов или неправильное использование функций.
  • Проблемы с соединением. Например, неполадки в сети, медленное или нестабильное соединение, проблемы с DNS.

Если на сайте возникла ошибка 500, вы, как пользователь, это заметите не мгновенно — для этого вам придётся отправить на сайт какой-то запрос, например обновить страницу или заполнить какую-то форму (ведь чаще всего мы просматриваем уже закэшированные страницы). Тогда-то браузер попытается вступить в диалог с сервером и выдаст Internal Server Error.

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

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

Вот пример лога с ошибкой 500:

[Sun Jan 05 15:33:31.122031 2020] [core:error] [pid 3987] [client 192.168.1.5:58427] End of script output before headers: index.php

В этом примере лог сообщает, что при обработке запроса на получение страницы index.php произошла ошибка. Сервер не смог правильно обработать скрипт и вывести заголовки страницы, что привело к Internal Server Error. Для определения точной причины придётся провести дополнительный анализ.

Ещё одна распространённая причина — повреждения в файле .htaccess, где хранятся настройки сервера: управление доступом для пользователей, кэширование и редиректы. Повредить его можно, просто неправильно написав команду:

RewriteEngine on.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Проблема в первой строке — точка там лишняя. И эта мелочь вполне может вызвать ошибку 500. При этом обнаружить такую деталь будет очень непросто, потому что она практически незаметна.

Кроме логов можно использовать другие инструменты — например, инспектор браузера или специализированные программы для анализа логов. Ряд CMS вроде WordPress или Drupal могут также указать на причины проблемы благодаря встроенным инструментам. Дело в том, что у каждой CMS есть собственная система мониторинга таких проблем. Вот пример сообщения в WordPress:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Как правило, CMS предоставляют очень ограниченную информацию о причинах, поэтому лучше всё-таки изучать логи.

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

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

Чтобы исправить ошибку на стороне сервера, нужно приложить больше усилий. Вероятно, придётся использовать средства отладки и тестирования кода. Ниже представлены несколько шагов, которые помогут вам найти и исправить ситуацию:

  • Проверьте логи сервера. Это позволит определить, что вызывает ошибку и где это происходит.
  • Проверьте базу данных. Убедитесь, что база данных работает корректно.
  • Проверьте код на наличие ошибок. Проблема может возникнуть из-за опечаток, ошибок синтаксиса, неправильных путей к файлам и неправильных конфигураций.
  • Измените настройки сервера. Попробуйте поменять разные конфигурации и посмотреть, к чему это приведёт.
  • Проверьте файл .htaccess. Убедитесь, что в нём нет ошибок, таких как неправильная настройка редиректов, блокировка IP-адресов или неправильное форматирование.
  • Проверьте сторонние плагины и расширения. Иногда проблема может возникнуть из-за их неправильной работы. Проверьте, что все они работают корректно.
  • Проверьте файлы сервера. В них тоже могут быть ошибки или неправильные настройки.
  • Попробуйте переустановить CMS или рабочее окружение. К этому имеет смысл прибегать, если все другие способы не сработали. Но это уж совсем радикальный совет — лучше обратитесь к кому-то более опытному, наверняка он поможет.
  • Если же не помогло даже это, пора писать три письма и бросать программирование (конечно, чтобы открыть свою кофейню).

Борьба может затянуться надолго — ведь главная причина часто бывает непредсказуема, неочевидна и весьма коварна.

Важные факты об ошибке 500 (Internal Server Error), которые стоит запомнить:

  • Ошибка 500 (Internal Server Error) — это сообщение о проблеме, которое может появиться при попытке получить доступ к веб-странице.
  • Она может возникнуть по разным причинам — например, из-за проблем на стороне сервера, неправильных настроек сайта или ошибок в коде.
  • Для того чтобы исправить проблему, нужно определить её причину. Обратитесь к логам сервера или к специалистам по веб-разработке.
  • Она негативно влияет на SEO-продвижение сайта. Поэтому исправляйте её сразу же.
  • Обновляйте ПО и проверяйте код на ошибки — это лучший способ держать сайт в хорошем техническом состоянии.

Научитесь: Профессия Веб-разработчик
Узнать больше

Ошибка с кодом 500 — это внутренняя ошибка сервера, решение которой зависит от хостинг-провайдера или
собственника сайта.

О чем свидетельствует ошибка 500

Ошибка с этим кодом сообщает о том, что сервер некорректно обрабатывает запросы, из-за чего ни
пользователи, ни поисковые системы, индексирующие размещенные на данном сервере ресурсы, не могут
полноценно работать с этими ресурсами.

Что делать пользователю, когда в браузере появляется код ошибки 500

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

Причины возникновения ошибки «ERROR 500 INTERNAL SERVER ERROR»

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

  • задержку скрипта;
  • неправильно установленные плагины сайта;
  • использование устаревшей версии PHP;
  • неправильно проведенное обновление WordPress.

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

Вас также может заинтересовать

Возможно, вам также будет интересно:

  • Сервера стим перегружены код ошибки 15
  • Сервера steam перегружены код ошибки 2
  • Сервер упал какой код ошибки получит пользователь
  • Сервер терминалов ошибка в протоколе
  • Сервер терминалов обнаружил ошибку в потоке протокола

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии