NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.
Forum Discussion
HHassell
Follower
May 05, 2020
Can’t access internet from one Lap top. When I go to Access Control to see if it’s blocked I get «500 Internal Server Error»
В статье рассказывается:
Что это? Ошибка 500 – это то, что препятствует открытию той или иной страницы сайта. Вместо ожидаемой, например, статьи, перед пользователем возникает фраза Internal Server Error 500. Она сообщает о проблемах ресурса с подключением к серверу.
Как исправить? Устранить ошибку можно как со стороны пользователя сайта, так и его владельца. В первом случае способы не гарантируют на 100 %, что Error 500 моментально пропадает, но попробовать стоит. Больше возможностей в этом плане у собственника ресурса.
В статье рассказывается:
- Что значит код ошибки 500
- Основные причины возникновения ошибки 500
- Текст и внешний вид ошибки
- Советы по исправлению ошибки 500 для пользователя
- Рекомендации по исправлению ошибки 500 для владельца сайта
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Значение 500 является кодом положения протокола НТТР. Из-за чего появляется ошибка 500? Происходит это потому, что случилась неисправность конфигурации сервера или пришёл сигнал о том, что компонент отказал. Когда возникает эта ошибка, программное обеспечение продолжает работать, но из-за серьёзных внутренних нарушений запросы обрабатываются некорректно.
Ошибка 500 значит, что пользовательский запрос неправильно переводится в действие. По этой причине возникают проблемы во время работы с сайтом. Нужно как можно скорее понять, из-за чего именно появилась ошибка, и устранить её.
Оповещение о том, что произошла ошибка 500, имеет текстовое описание. Наиболее частые варианты:
- Ошибка 500.
- Внутренняя ошибка сервера 500.
- Ошибка 500 Internal Server Error.
- Временная ошибка (500).
- Внутренняя ошибка сервера.
- 500 ошибка сервера.
- Внутренняя ошибка HTTP 500.
- Произошла непредвиденная ошибка.
- HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
Уже скачали 35558
Визуальный вид и текстовое сопровождение ошибки могут отличаться у каждого пользователя, потому что версии страницы могут быть разными.
Вероятность столкнуться с такой неприятностью есть при работе с любым веб-ресурсом, браузером или устройством. Главное, понимать, что эта ошибка, как и другие, которые начинаются на цифру 5, является промахом разработчиков или администратора сайта и вашей вины в этом нет.
Основные причины возникновения ошибки 500
Мы уже выяснили, что данная ошибка появляется, когда сервер не смог обработать запрос, совершённый пользователем, в результате чего человек не может открыть ресурс, а поисковые системы с ним взаимодействовать. Проблему обязательно нужно устранить, но для начала следует найти причину её появления, среди которых может быть:
- Неправильный синтаксис файла .htaccess – это файл, в котором можно менять настройки при работе с веб-сервером Apache и корректировать его функционирование (управлять различными перенаправлениями, правами доступа к данным, опциями PHP, задавать собственные страницы ошибок и прочее).
- Неполадки в сценариях сайта, которые отвечают за дополнительные возможности и визуальные эффекты.
- Недостаточно оперативной памяти, чтобы выполнить скрипт.
- Ошибки в коде CMS, системы управления наполнением ресурса. В большинстве случаев (80 %) причиной являются конфликтующие плагины.
Текст и внешний вид ошибки
Вы узнали, что означает ошибка 500, теперь пришло время перейти к более подробному разбору возможных причин её появления. Иногда разобраться с этим вопросом можно и без помощи специалиста.
Вид ошибки может отличаться. Это зависит от того, из-за чего она возникла. Наиболее распространенные причины можно узнать по тому, как отображается ошибка и какой текст её сопровождает.
Internal Server Error
Данный вид ошибки – сигнал о том, что есть проблемы с файлом .htaccess (к примеру, он был неправильно настроен). Чтобы понять, действительно ли дело в .htaccess, добавьте к его названию в конце цифру один. Сделать это поможет FTP-клиент (например, FileZilla) или файловый менеджер на вашем хостинге (в Timeweb есть подобный, и он очень простой в использовании). После этой манипуляции попробуйте заново открыть сайт. Если ошибка не выскочила, значит, вы нашли, из-за чего она появилась.
Скачать
файл
HTTP ERROR 500 или пустая страница
Подобное означает, что причина в сценариях сайта. Но надо уточнить насчёт пустой страницы, что это не только признак внутренней ошибки 500 в сервере.
Предлагаем детальнее разобраться с пустой страницей, обращаясь к инструментам разработчика. Через браузерную панель пользователь получает уведомления об ошибках и другую информацию (время запуска сайта, html-элементы и прочее).
Каким образом открывается панель разработчика? Для начала нажмите F12 (это подходит для большинства браузеров на Windows). Если вы пользуетесь Google Chrome на macOS, то вам нужно использовать сочетание кнопок Cmd+Opt+J. В случае Safari на macOS нужна комбинация Cmd+Opt+C, но перед тем, как её нажать, включите «Меню разработки» в разделе «Настройки» -> «Продвинутые».
Есть ещё один способ открыть панель разработчика: кликнуть правой кнопкой мыши в любом месте сайта и в открывшемся контекстном меню выбрать «Посмотреть код». После этого откройте вкладку «Сеть» (или Network) и посмотрите, какое значение указано в строке «Статус». Если дело в ошибке 500, то будет стоять эта цифра.
Советы по исправлению ошибки 500 для пользователя
Для начала расскажем, на что лучше не тратить своё время. Данная ошибка связана с сервером, поэтому делать что-то со стороны клиента (перезагружать роутер, менять браузер, переустанавливать программу) смысла нет.
- Заново откройте сайт
Ошибка 500 может появиться не только из-за серьёзных проблем с сервером, но и по причине временной перегрузки сайта. Перезагрузить страницу можно с помощью клавиш: на ПК — F5, ноутбуке — Fn + F5, на устройствах от Apple — Cmd + R.
Читайте также!
Ошибка 400: причины и способы устранения
- Очистите кэш и cookies браузера
Кэш и cookies нужны для того, чтобы при повторном открытии страницы не нужно было заново прогружать все данные, то есть они сохраняют информацию с первого посещения, за счёт чего в следующий раз сайт открывается быстрее.
Если на сервере была ошибка, то даже если её уже устранили, из-за кэша может открываться старая версия страницы с этой неполадкой.
Если ничего из этого вам не помогло, то остаётся ждать, когда владелец решит эту проблему, и вернуться на сайт позже.
Дарим скидку от 60%
на курсы от GeekBrains до 08 февраля
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку
- Обратитесь к владельцу сайта
Когда, например, в интернет-магазине часто всплывает ошибка 500, можно связаться с его владельцем. Информация с контактными данными, как правило, находится либо внизу страницы, либо в разделе «Контакты».
Чаще всего информация закрытая, но есть форма для обратной связи. Однако не факт, что вы получите ответ. Если нужные данные вы не нашли или ответа так и нет, можно воспользоваться такими вариантами: через Whois, хостинг-провайдера или регистратора домена, с помощью сторонних сервисов.
Рекомендации по исправлению ошибки 500 для владельца сайта
Стоит учитывать большое количество факторов: движок, на котором работает ваш сайт, на каком он хостинге расположен, какие недавние изменения были внесены. Как бы там ни было, зачастую универсальные методы убирают ошибку 500. Желательно попробовать все варианты, которые подойдут под специфику вашего ресурса.
- Устраните неполадки в синтаксисе файла .htaccess
Выше мы уже рассказывали, как понять, в нём ошибка или нет. Попробуйте изменить имя документа, к примеру, на .htaccess_, и заново открыть сайт. Если ошибка не вылезла, значит, дело всё-таки в .htaccess. Проанализируйте синтаксис документа на наличие лишних символов или опечаток. Если вы сохраняли прошлую версию настроек, то надо попробовать её вернуть, чтобы проверить, будет ли ошибка.
В некоторых случаях может помочь закомментирование строки Options в .htaccess – вставить # в её начале. Если ничего не поменялось, проделайте то же самое с другими строками, а потом по очереди убирайте # и смотрите на результат.
После изменения файла .htaccess надо проверить, сохранилось ли оно. Иногда хостер может выставить на документ права, которые мешают его менять. В этой ситуации вы можете скачать файл .htaccess к себе на устройство, открыть и отредактировать его в любом текстовом документе и залить обратно, заменив старую версию.
Только до 12.02
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300
- Обновите РНР
Версии РНР, которые уже устарели, не поддерживают обновления безопасности, хуже работают и из-за них может быть некорректная работа плагинов и сценариев.
Может, для того, чтобы ваш сайт работал без перебоев, вам надо просто обновить РНР.
- Настройте права для CGL-скриптов
Одним из методов устранения ошибки 500 на сайте является выставление прав для CGL-скриптов. Если такие сценарии у вас есть, то их папки и файлы должны иметь такое право доступа: 0755 (drwxr-xr-x), которое даёт возможность менять их только владельцу, а остальные могут их лишь открывать и активировать. Когда на скриптах стоит другое право доступа, это может привести к появлению ошибки 500.
- Проверьте файлы CGL-скриптов
У правильных сценариев окончание строк в формате Unix (\n), а не Windows (\r\n). Для сохранения корректного варианта нужно загружать код (в большинстве хостингов) по FTP в режиме ASCII. Если вы не помните, какие ранее были настройки, заново добавьте сценарии и посмотрите, появится или нет ошибка 500. К тому же CGL-скрипты могут быть причиной неправильных HTTP‑заголовков ответа. В данном варианте вы сможете заметить ошибку в логах.
- Проверьте плагины
Причина может скрываться в плагинах, которые вы недавно установили.
Нередко встречается такое, что отдельные элементы сайта или плагины не могут работать совместно друг с другом. Данная проблема становится причиной не только того, что сайт выдаёт ошибку 500, но и возникновения других неполадок на сервере. Если модели были установлены или обновлены не так давно, то можно попробовать их отключить через панель администратора. Есть вероятность, что после этого могут всплыть другие неполадки, но если ошибка 500 исчезла, значит, дело было в конфликте плагинов или компонентов.
- Проверьте лог ошибок
Более точный анализ проводится с помощью логов. Если объяснять простым языком, то лог – это своеобразный журнал, в котором хранится информация об ошибках, направленных запросах, подключениях, действий с документами и так далее. Так как данных в логах очень много, они делятся на категории, чтобы было проще найти то, что нужно.
Если в последнее время вы как-то меняли сайт, то это могло стать причиной появления ошибки с кодом состояния 500. Зайдите в логи и проверьте, нет ли там информации о проблемах. Если ошибки высветились, то надо их изучить и отменить последние изменения.
Как правило, хостеры предоставляют информацию о том, где найти логи и как их открыть с панели управления. Данные об этом есть в разделе помощи FAQ (frequently asked questions — часто задаваемые вопросы) на сайте хостинга.
- Оптимизируйте сценарии
Если написанные сценарии долго грузятся или вообще не могут запуститься из-за нехватки ресурсов, проанализируйте их содержимое. Может, код надо оптимизировать, чтобы он стал легче и быстрее загружался. Нередко сценариям недостаточно ресурсов при работе с виртуальным хостингом. У них есть жёсткий лимит на память, чтобы каждый пользователь имел равные возможности во время пребывания на выбранном сайте.
Разделите скрипты на части и проверьте каждый на эффективность их деятельности. Если вы обнаружили в коде много ненужных вызовов либо необходимый объём памяти постоянно растёт, нужно обязательно проработать эти моменты.
- Увеличьте объём оперативной памяти сервера
Встречаются ситуации, когда даже после оптимизации сценариев они продолжают занимать много памяти. Чтобы решить эту проблему, придётся начать пользоваться более дорогим пакетом обслуживания, который предлагает хостинг.
Либо, если есть вариант увеличить объём памяти, прибегнуть к нему. К тому же вы не будете платить за те функции, которые не нужны вашему ресурсу.
Если вы испробовали все возможные варианты, но ничего не помогло, лучше обратиться за помощью к службе технической поддержки. Укажите время, когда вылезла ошибка, и подробно расскажите, что пытались предпринять для её устранения. Специалисты подробно изучат настройки сайта и, если потребуется, обратятся к управляющим сервера на стороне хостинг-провайдера.
Читайте также!
Что такое скрипт: применение, языки написания
Ошибка выполнения запроса 500 является обобщенным кодом состояния НТТР, который говорит о том, что на сервере произошла какая-то неполадка, но более точно описать проблему сервер не может. Так что первым делом нужно узнать, что послужило причиной возникновения ошибки, и только после этого заниматься её устранением.
Иногда бывает так: открываешь сайт и вместо ожидаемого контента видишь грозную надпись: 500 Internal Server Error. Когда возникает эта ошибка, пользоваться сайтом невозможно: ни одна страница не загружается. А дальше — как повезет: иногда ошибка пропадает за минуту, а порой может задержаться на часы или даже дни.
Разберемся, что значит «ошибка 500», какие неполадки могут за ней скрываться и как точнее определить причину сбоя, будь вы пользователь или вебмастер. А вот исправить неполадку может только владелец сайта.
О чем говорит код ошибки 500
Когда пользователь обращается к ресурсу, сервер его интернет-провайдера связывается с серверами сайта и обменивается с ними запросами по протоколу HTTP. Одна из частей любого запроса по этому протоколу — код состояния, число, которое описывает, насколько успешно прошел запрос. Скажем, код 200 означает, что все хорошо. А код 403 — что к данным нет доступа.
Код ответа 500 — тоже одно из «сообщений», которые передает протокол HTTP. Число сопровождается короткой фразой: Internal Server Error. Вот что такое ошибка 500 — ответ от протокола, что сайт невозможно загрузить.
В переводе на русский Internal Server Error означает «внутренняя ошибка сервера». Код 500 указывает, что сайт недоступен из-за сбоя, причина которого не подпадает под критерии других ошибок. То есть неполадку нельзя описать каким-то из других кодов HTTP.
Из-за чего может возникнуть внутренняя ошибка сервера
Сразу поясним: пользователь не имеет к этому никакого отношения. Все ошибки, коды которых начинаются с цифры 5, говорят о неполадках на стороне владельца сайта. Именно он имеет доступ к серверу и способен исправить сбой.
Ошибка 500 означает, что на сервере что-то не так и он не может обработать запрос пользователя. Но что именно сломалось — протокол сказать не может. То есть причины сбоя могут быть разными и однозначный ответ, что случилось, дать нельзя. Но вот несколько самых частых ситуаций, в которых HTTP возвращает этот код состояния.
Технические работы. Самый простой вариант — владелец сайта временно закрыл его на техобслуживание и сервер попросту не работает. Конечно, в этом случае логичнее повесить на страницу плашку о проведении работ. Но если сайт небольшой и принадлежит обычному человеку, а не компании, он может этого и не сделать. А значит, пользователи столкнутся с ошибкой сервера 500.
Проблемы на сервере. Сбой может быть чисто аппаратным — например, сервер отключился из-за физических неполадок. Но проблема может быть и на стороне программного обеспечения. Среди частых причин 500-й ошибки сервера можно выделить:
- устаревшее или неверно настроенное программное обеспечение на сервере;
- конфликтующие друг с другом плагины CMS — системы управления сайтом;
- ошибки в скриптах — сценариях, которые выполняются на сервере;
- слишком «тяжелый» код сайта, который отнимает слишком много ресурсов;
- слишком большое количество процессов — некоторые хостинги сайтов устанавливают на него ограничение;
- устаревшая версия языка PHP — частая причина ошибки 500 в nginx, популярном бесплатном HTTP-сервере;
- некорректно выданные доступы к файлам и папкам;
- проблемы с базой данных.
А иногда причиной становится излишняя нагрузка на сервер. Скажем, иногда сообщение об internal error появляется на короткий срок и исчезает после перезагрузки страницы. Это значит, что в конкретный момент сервер не смог обработать запрос — вполне вероятно, из-за большой нагрузки.
Неполадки с соединением. Речь идет не о пользователе — у сайта тоже может сбоить соединение с интернетом. Скажем, если провайдер проводит работы или где-то на линии произошла авария. В этом случае подключение сайта к интернету становится медленным и нестабильным, может пропасть доступ к DNS-серверу — а у пользователя высветится error code 500. Впрочем, подобные сбои происходят относительно редко.
Проблемы в файлах сайта. Одна из самых частых причин внутренней ошибки сервера 500 — неправильный синтаксис в файле .htaccess. Этот файл есть во всех инфраструктурах под управлением веб-сервера Apache и содержит настройки для серверного ПО. С его помощью администратор сайта задает доступы, управляет перенаправлениями с одних страниц на другие и выполняет множество других действий. Но если допустить в этом файле опечатку, сервер не сможет корректно прочесть настройки и выдаст server error 500.
Другие причины. Технически внутренняя ошибка 500 может произойти и по причинам, которые обычно описываются другими кодами состояния. Среди таких причин — отсутствие прав на просмотр страницы, превышенное время ожидания ответа и другие. Для них есть свои коды, но иногда настройки серверного ПО не позволяют HTTP-серверу узнать, что именно произошло. Поэтому он выдает универсальный ответ 500, вместо того чтобы сообщить о настоящей причине сбоя.
Чем ошибка 500 грозит сайту
Часто статус 500 держится всего несколько секунд и вскоре пользователи снова получают доступ к сайту. В этом случае ничего страшного обычно не происходит. Но если ошибка задержится на более долгий срок, у владельцев сайта могут возникнуть проблемы. Вот какие.
Недоступность для пользователей. Когда пользователь сталкивается с внутренней ошибкой сервера — он не может серфить сайт как обычно. Вместо интересующей страницы у него отображается сообщение вида «an internal server error occurred». Если оно не пропадает через несколько секунд или минут, пользователь делает вывод, что получить доступ к сайту в ближайшее время не выйдет, и уходит. Владелец сайта теряет трафик, а если ошибка повторяется часто, посетители рано или поздно запомнят это и могут перестать заходить на сайт.
Ухудшение SEO-показателей. Поисковые роботы регулярно сканируют сайты, чтобы усовершенствовать поисковую выдачу — показать пользователю релевантные страницы. Если же сайт недоступен, а в это время на него зашел робот, он не сможет получить доступ к контенту. Чаще всего роботы снова проверяют доступность сайта через какое-то время. Но если во второй раз подряд столкнутся с 500 HTTP Error — удалят сайт из поисковой выдачи. Люди не смогут находить его в поиске даже какое-то время после того, как владелец сайта исправит ситуацию.
Потеря денег. Если сайт коммерческий, то любая потеря трафика для него приводит к упущенной выгоде. Например, пользователь мог купить товар в интернет-магазине, но из-за недоступности сайта не сделал этого. Или, если речь о развлекательном ресурсе, — не смог посмотреть рекламу, за показы которой владелец сайта получает деньги.
Как продиагностировать внутреннюю ошибку сервера
Обычный пользователь не имеет доступа к серверным файлам и не сможет обнаружить причину ошибки. А вот администратор или веб-разработчик, отвечающий за состояние сайта, вполне способен ее продиагностировать. Для этого он может:
- посмотреть логи ошибок. Серверное ПО логирует, то есть записывает сведения обо всех событиях, в том числе об ошибках. Логи можно просмотреть в панели управления хостингом сайта или напрямую подключиться к серверу. Записи могут показать, когда появилась ошибка и после какого действия возникла;
- проверить файл .htaccess. Ошибки и опечатки в этом файле — очень частая причина сбоя, при этом заметить их довольно сложно. Лучше отдельно проверить файл, посмотреть, когда в него вносили изменения, и при необходимости откатить до прошлой версии. А еще существуют специальные сервисы для проверки, корректен ли этот файл;
- воспользоваться специализированными инструментами. Иногда утилиты для анализа логов и поиска ошибок есть в CMS, системах управления контентом сайта. Но даже если их нет — можно отдельно установить подобное ПО. А иногда достаточно просмотреть информацию в панели разработчика в браузере.
Кроме того, можно проверить, какая версия PHP установлена на сервере и не обновлялось ли в последнее время какое-то ПО. Может быть, на сервер недавно внедрили новый модуль, который конфликтует с уже имеющимися. А может, кто-то по ошибке изменил права доступа к файлам, и теперь программное обеспечение не может их прочитать.
Как исправить ошибку 500
Если вы пользователь, сделать, скорее всего, ничего не получится: проблема на стороне сайта. Впрочем, можно какое-то время подождать, перезагрузить страницу, очистить кэш браузера и cookies. А если ошибка никуда не денется — связаться с администраторами сайта. Часто их контакты оставляют прямо в окне ошибки, например в виде ссылки.
Совсем иначе обстоят дела, если вы администратор. Первым делом предстоит выяснить причину ошибки: проверить логи, доступы, модули и файлы сервера. И уже после обнаружения причины исправлять ситуацию. Как это сделать — зависит от того, что именно произошло на сервере.
- Если причиной стала ошибка в .htaccess — можно откатить файл до старой, работающей версии, или вручную поправить неверный синтаксис. То же самое касается некорректных записей в других файлах и скриптах.
- Если ошибка возникла из-за конфликтующих модулей или устаревшего ПО — нужно устранить конфликты, например удалить часть программного обеспечения или заменить на аналоги. PHP стоит обновить до совместимой версии.
- Если сайт исчерпал лимит на количество одновременно работающих процессов — администратор может вручную остановить какие-то из них. Да, это означает, что часть функциональности сайта временно перестанет работать. Но это лучше, чем полная потеря доступа.
- Если же причина — слишком высокая нагрузка на сервер, пути решения могут быть разными. Например, подключить больше мощностей, если всплеск нагрузки штатный — скажем, в интернет-магазине идет распродажа и туда заходит много пользователей. Или внедрить блокировщик DDoS-атак, если есть подозрение, что нагрузка так выросла из-за действий злоумышленников.
Можно также поменять серверные настройки: посмотреть разные варианты конфигураций и проверить, с какими из них сайт работает лучше. Но так стоит делать, только если вы уверены, что проблема не в опечатках в файлах и не в конфликте модулей. А в крайнем случае администратор может даже переустановить CMS. Но на это стоит идти, только если больше ничего не помогло.
Основные выводы
- 500 Error — это ошибка, при появлении которой сайт недоступен для пользователя. Число 500 — код состояния в протоколе HTTP. С помощью чисел протокол показывает, что именно пошло не так.
- Ошибка сервера с кодом состояния 500 возникает, когда на сайте какие-то неполадки. Какие именно — веб-сервер сказать не может. Причиной может быть аппаратный сбой, неверно настроенное серверное ПО или ошибки в файлах сайта.
- Если вы пользователь и столкнулись с внутренней ошибкой 500 — просто подождите и перезагрузите страницу. Если же проблема не исчезнет, свяжитесь с администраторами сайта. Исправить ошибку могут только они.
- Администратор сайта может проверить разные участки инфраструктуры: файлы, базу данных, настройки сервера и установленные модули. Что именно делать с ошибкой — зависит от причины, которую он обнаружит. Иногда достаточно исправить опечатку, а порой приходится и переустанавливать серверное ПО.
To obtain updates from this website, scripting must be enabled.
To use this site to find and download updates, you need to change your security settings to allow ActiveX controls and active scripting. To get updates but allow your security settings to continue blocking potentially harmful ActiveX controls and scripting from other sites, make this site a trusted website:
In Internet Explorer, click Tools, and then click Internet Options.
On the Security tab, click the Trusted Sites icon.
Click Sites and then add these website addresses one at a time to the list:
You can only add one address at a time and you must click Add after each one:
http://*.update.microsoft.com
https://*.update.microsoft.com
http://download.windowsupdate.com
Note:
You might have to uncheck the Require server verification (https:) for all sites in the zone option to enter all the addresses.
Инструкция для пользователей и владельцев ресурса.
Что означает код ошибки 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 — вставить # в самом её начале. Если это не сработало, закомментируйте и другие строки, а затем последовательно убирайте #, чтобы найти проблемное место в файле.
Если вы отредактировали .htaccess, проверьте, сохранились ли изменения. Бывает, что хостер выставляет на этот файл права, которые запрещают редактирование. В таком случае попробуйте скачать .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 — если там нет подходящей темы, создайте новую. Опишите ситуацию как можно более детально и будьте готовы пробовать различные варианты, которые вам предложат в комментариях.
Правда, порой ответов приходится ждать долго. Поэтому имеет смысл зайти в похожие темы и попросить помощи там.
Наконец, можно зарегистрироваться на сайтах для фрилансеров в качестве заказчика. Специалисты помогут вам решить проблему, пусть и не бесплатно.
