Что такое ошибка 500, когда возникает и как устранить

Почему появляется ошибка 500 internal server error

Если ресурс выдает ошибку 500, причин для этого может быть очень много и определить их не так просто. Например, с ошибкой 404 все более-менее понятно: дело в измененных URL страницы или же сломаны permalinks.

Код ответа сервера 500 может быть вызван:

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

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

Что может стать причиной

  1. Запрет доступа.

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

  1. Ошибки в .htaccess.

Из-за неправильно прописанных директив в .htaccess. у web-сервера Apache возникают проблемы с корректным прочтением файлов сайта.

  1. Некорректное расширение.

Обычно эта проблема касается PHP и CGL скриптов. У них может быть неправильное расширение или устаревшая, неподдерживаемая версия.

  1. Превышение времени ожидания исполнения скрипта.

Ошибка возникает, если истекает тайм-аут обработки внешних PHP.

  1. Нехватка выделенной памяти.

Большинство хостингов лимитируют объем оперативной памяти на исполнение скриптов.

  1. Неправильные настройки CMS.

Некоторые плагины систем управления сайтом – особенно это касается WordPress и Joomla – могут вызывать ошибку 500 из-за отсутствия обновлений или несовместимости.

Описание неполадки и причины возникновения

Ошибка: «500 Internal Server Error» – это внутренняя неполадка, которая возникает из-за некорректной работы удаленного сервера. Механизм этой проблемы следующий:

  1. Человек отправляет на сайт какой-либо запрос (например, открытие страницы).
  2. Сервер получает этот запрос, но не может его обработать – это приводит к сбою.
  3. Браузер получает сообщение об ошибке и показывает её человеку.

Основные причины возникновения неполадки:

  • Использование старого CMS-модуля.
  • Нарушение прав доступа.
  • Превышено время ожидания.
  • Нарушение работы плагинов.
  • Проблемы с браузером (редко).
  • Технические работы на сервере.

Чаще всего ошибка 500 отображается в виде надписи: «Internal Server Error» на белом фоне. Однако иногда текст надписи может быть другим:

Почему?

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

Что может быть неверным в файле и как это исправить?

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

Sprinthost – как исправить ошибку 500

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

Внешний вид ошибки 500 зависит от того, чем она вызвана. При неполадках в скриптах сайта отобразится пустая страница, сообщение HTTP ERROR 500 или текст обработчика PHP.

Если проблема в файле .htaccess — сообщение Internal Server Error.

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

Сообщение Internal Server Error выводится, когда в файле .htaccess есть ошибки. Переименуйте файл .htaccess и проверьте корректность работы сайта. Если он доступен, удалите правила, которые были добавлены последними, или восстановите старый файл из резервной копии.

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

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

Нажмите сочетание клавиш Ctrl Shift I или используйте меню браузера:

  • Mozilla Firefox — «Веб-разработка» → «Инструменты разработчика»;
  • Google Chrome — «Дополнительные инструменты» → «Инструменты разработчика»;
  • Opera — «Разработка» → «Инструменты разработчика».

Перейдите во вкладку «Сеть (Network)». На ошибку 500 указывает соответствующее число в колонке «Статус».

Статус пустой страницы может быть и 200 (Ok). В таком случае проверьте, есть ли содержимое в индексном файле сайта, очистите кеш вашей CMS. Если ранее сайт работал корректно, восстановите его из резервной копии.

Вывод ошибок PHP на хостинге по умолчанию выключен. Чтобы увидеть их текст, добавьте в файл .htaccess правило: php_value display_errors 1 и обновите страницу сайта.

Если текст не отобразился, включите вывод ошибок через конфигурационный файл CMS. Он расположен в корневой директории сайта.

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

Похожее:  Формы для сайта: юзабилити форм и рекомендации по его улучшению

Иногда ошибка не выводится на странице или возникает периодически: ее тяжело отследить. Чтобы узнать текст таких ошибок, записывайте информацию о них в файл — журнал ошибок PHP. Подключите его, добавив в .htaccess строку: php_value error_log /home/username/domains/domain.ru/php_errors.log и обновите страницу сайта.

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

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

Для устранения некоторых ошибок не требуется специальных знаний. Рассмотрим самые распространенные.

Ошибка с текстом Allowed memory size возникает из-за нехватки оперативной памяти для выполнения скрипта: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 81 bytes) in /home/username/domains/domain.ru/public_html/somescript.php

Чтобы исправить ее, увеличьте лимит оперативной памяти, добавив в файл .htaccess директиву:

php_value memory_limit 512M

Вместо «512» укажите необходимый объем памяти. Максимальное значение ограничивается тарифом.

Текст Out of memory означает, что достигнут лимит оперативной памяти по тарифному плану:

PHP Fatal error: Out of memory (allocated 39059456) (tried to allocate 262144 bytes) in /home/username/domains/domain.ru/public_html/somescript.php

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

При обновлении CMS случаются синтаксические ошибки:

PHP Parse error: syntax error, unexpected '[', expecting ')' in /home/username/domains/domain.ru/public_html/wp-content/plugins/wordpress-23-related-posts-plugin/config.php on line 130

Это происходит из-за того, что новые функции CMS не поддерживают устаревшие версии PHP. Чтобы исправить ошибку, измените версию PHP для сайта на более современную в разделе «Сайты» → «Веб-серверы».

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

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

Внутренняя ошибка 500 — internal server error

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

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

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

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

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

Инструкция для админов

  1. Проверьте корректность работы файла под именем error log.
  2. Попробуйте поставить права доступа на коды cgi — 0755.
  3. Если истекло время ожидания ответа от сервера, измените интервал на отрезок побольше.
  4. Используйте ПО, которое меняет права на папки. Оптимальная цифра для скриптов — 600, а у всех остальных права должны быть 644, у каталогов — 755.
  5. Что касается файла .htaccess, то из-за модификации его директивы могут быть ошибочными. Отыщите файл и переместите его или же сделайте резервную копию и снесите .htaccess.

Как диагностировать

Необходимо открыть файл “error.log”. Для этого можно воспользоваться клиентом FileZilla или панелью управления хостингом/VPS.

Как диагностировать ошибку 500

В error.log будет доступен детальный отчет об ошибке. Сайты, работающие на серверах Microsoft IIS, выдают более точный код ошибки. Например, 500,19 – “Данные конфигурации неверны”.

Как исправить ошибку 500

Есть несколько вариантов решения имеющейся проблемы.

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

Следующий метод основывается на том, что проблема кроется в некорректной настройке и работе файлов .htaccess. Написание .htaccess файлов — задача для профессионала. Простой пользователь с этим не справится. Поэтому лучше обратиться за помощью к специалисту.

И третий сценарий возникновения поломки — использование объемного скрипта, который требует для нормального функционирования слишком много места. Здесь можно либо отказаться от такого скрипта, либо перейти на другой тариф и тем самым расширить лимит памяти.

Похожее:  установка vipnet без контроля приложений

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

Медленная работа скриптов

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

Второй вариант – увеличение времени, отведенного на обработку. Но эта операция доступна только владельцам выделенных серверов. На виртуальном хостинге расширить оперативное время не получится.

Неверный код в .htaccess

Проверить, влияют ли строки в файле на работу ресурса, можно через два пути:

  • скопировать документ на компьютер и удалить его с сервера;
  • переименовать в test или дать любое другое название;

Если после этого ошибка 500 устранится, необходимо найти некорректные директивы, ее вызывающие.

Можно сделать это вручную. Для этого:

  • комментируем все строки кода, кроме первой;
  • обновляем файл на сервере;
  • проверяем работоспособность файла.

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

Чтобы не тратить время, для начала диагностику .htaccess можно провести с помощью автоматического тестировщика – например, онлайн-сервиса htaccess test. Для проверки кода нужно ввести в окно содержимое файла и указать адрес сайта. Тестировщик выдаст отчет, в котором выделит красным некорректные директивы.

Некорректные cgi-скрипты

Скрипты CGI чаще всего используются при взаимодействии пользователя с веб-страницей – отправке форм, комментариев, оценок. Второе применение – сбор данных о пользователях, то есть те самые cookies.

В CGI могут возникать различные ошибки.

  1. Неверный формат окончания строк.

Для серверов, работающих под управлением систем Unix, правильным окончанием строки будет символ “n”. Для Windows-платформ верный символ – “m”. Проверить табуляцию можно с помощью специальных реакторов – например, Notepad .

  1. Некорректные права доступа.

Как говорилось ранее, верное числовое значение доступа для исполнительных файлов – 755.

  1. Неправильные HTML-заголовки.

Информацию об ошибках в заголовках можно проверить в файле ‘error.log’.

Нехватка выделенной памяти

При превышении лимита оперативной памяти, установленной хостингом, стоит предпринять следующие действия.

  1. Проверка работоспособности скриптов.

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

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

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

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

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

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

Обновляем cms-модуль

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

Например, в случае «Wordpress» – вы проходите авторизацию и открываете вкладку «Updates» – если есть неустановленные обновления, то сверху должна появиться строка «Please Update Now».

Отсутствуют права доступа

Для каталогов и файлов существует несколько уровней доступа:

  • чтение – пользователь может просматривать содержимое файла или папки;
  • запись – пользователь может создавать, удалять и редактировать файлы в указанной папке;
  • исполнение – пользователь может запускать обработку скриптов.

Обычно для файлов выставляют числовое значение доступа “644”, для папок и директорий – “755”.

Параметр 644 означает, что владелец ресурса может читать, записывать и редактировать файлы, а остальные пользователи – только читать. 755 – владелец имеет полный доступ, а пользователям разрешено чтение файлов и исполнение скриптов. Редактируются права через хостинг или бесплатную клиентскую программу FileZilla.

Исправление ошибки 500 через бесплатную клиентскую программу FileZilla

  1. Входим в корневую директорию сервера, введя необходимые учетные данные.
  2. Если нужно загрузить на сервер новые файлы или папки, перетаскиваем их с локального компьютера.
  3. Включаем отображение скрытых файлов.
  4. Выделяем интересующие объекты. В контекстном меню выбираем пункт “Права доступа к файлу…”. В открывшемся окне вводим необходимое числовое значение или отмечаем галочками соответствие категорий прав и групп пользователей.
Похожее:  Как обойти процедуру 📝 идентификации личности студента в Синергии и других дистанционных ВУЗах - Все Сдал

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

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

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

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

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

Ошибки htaccess

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

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

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

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

Ошибки, связанные с cms

Часто проблемы возникают из-за плагинов или тем, используемых системой управления сайта – особенно это касается CMS WordPress. Схема действий в таком случае следующая.

  1. Проверить файл .htaccess и, если ошибка возникает из-за него, временно запретить запись в него всем пользователям, прописав параметр доступа “644”.
  2. Изменить используемую тему, чтобы проверить ее работоспособность.
  3. Деактивировать плагины. Действовать придется методом перебора, последовательно отключая каждый установленный плагин, пока ошибка не будет устранена.

Ошибки 500, связанные с CMS

  1. Расширить лимит оперативной памяти. В конец файла конфигурации wp.config.php добавить строку define(‘WP_MEMORY_LIMIT’, ’64M’).

Проверяем доступ в интернет, перезапускаем браузер

В редких случаях временная ошибка (500) возникает из-за серьезных проблем с браузером или некорректного подключения к интернету. Решение:

  1. Проверьте свое подключение к интернету, обновите страницу.
  2. Установите последние обновления на свой браузер.
  3. Очистите кэш, удалите куки (способ удаления, очистки зависит от типа браузера).

Произошла ошибка 500: устраняем в 2 способа

У нас есть две инструкции — для обычных пользователей и для администраторов ресурсов, начнем с более простой.

Стандартное руководство для обычных пользователей

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

Правда, бывают случаи, когда проблема кроется в вашем оборудовании и софте — самом ПК, браузере, интернет-подключении или каком-либо ПО. Чтобы устранить баг, попробуйте действовать так:

  • Перезагрузите web-страничку.
  • Выключите или перезалейте имеющиеся плагины и расширения в браузере.
  • Отключите оформление браузера или полностью переустановите программу. Также будет полезным софт CCleaner для чистки лишнего.
  • Смените локализацию, выбрав другое государство в настройках браузера.
  • Попробуйте зайти с использованием ВПН (или прокси, браузера Тор и т. п.).
  • Можете подергать настройки ДНС, установленные провайдером, и прогнать на зловреды онлайн-DNS, если пользуетесь таковыми.
  • Дождитесь, пока на сайте Gosuslugi проведут и завершат техработы. Кстати, у сайта государственный статус, поэтому смело можно обращаться в call-центр за помощью.
  • Зайдите с софта для Android или IOS — у ресурса есть собственное приложение, оно может работать.

На заметку! Код может отображаться только в некоторых разделах сайта или на этапе авторизации (регистрации). В этом случае вам точно нужно воспользоваться чатом с оператором, который вы найдете в нижнем углу экрана с правой стороны.

Устаревший php

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

Выводы

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

Заключение

Ошибка 500 связана с невозможностью сервера обработать команды, поступающие от браузера пользователя. Она может возникать из-за некорректных директив в файле .htaccess или PHP/CGI скриптах, нехватки оперативной памяти для обработки скрипта, превышения тайм-аута при исполнении PHP.

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *