Код ошибки 500 внутренняя ошибка сервера. Ошибка Internal Server Error: что это и как с ней бороться

10.05.2019

Доброго времени суток всем читателям блога сайт! Наверняка почти каждый из вас, пользователей интернета, сталкивался с такой проблемой – вместо страницы сайта вдруг возникает сообщение 500 internal server error , что означает — внутренняя ошибка сервера.

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

Часто 500 ошибка сервера может возникнуть в Joomla, WordPress, OpenCart, Битрикс, DLE и многих других, даже самописных. Но, хоть от нас здесь мало что зависит, я предлагаю все же рассмотреть наиболее распространенные причины, по которым может возникнуть ошибка сервера, а также некоторые (они все же есть) способы устранения ошибки 500.

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

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

Из-за чего показывается ошибка 500 и как исправляется

  1. Неправильно выставлены права доступа на директории сайта и/или их файлы. Это ваш недосмотр или неведение, но ошибки сервера в этом случае имеют место быть. Если на файлы, написанные на php и размещенные на вашем хостинге, установлены права на запись 777, то скрипты могут блокироваться сервером и не выполняться. Вам, соответственно, браузер покажет ошибку 500. Хотя все в этом случае зависит от настроек хостера. Поэтому выбирайте надежного партнера, с весомыми рекомендациями. Случаться эта неприятность может, потому что права доступа 777 позволяют всем пользователям аккаунта проводить любые операции с файлами и папками, что очень сильно влияет на целостность вашего веб-ресурса и его безопасность. Оградить себя от этого может только единоличное управление своим аккаунтом – не давайте никому доступ в корневые папки сайтов!

Как можно решить: Необходимо проверить права доступа на запись всех папок и файлов ваших сайтов. Для папок (директорий) рекомендуется выставлять права доступа 755, для исполняемых скриптов – права доступа 600, а для остальных файлов – права 644. Если нужно установить права 777, то поставщик заранее предупреждает об этом.

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

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

  1. Файл настроек.htaccess может содержать неправильные директивы или такие правила, которые не поддерживаются вашим сервером. Файл.htaccess пишется в очень строгих рамках, и если вы при его настройке допустили какие-то ошибки, то в результате обязательно получите ошибку 500 Internal Server Error. На продвинутых хостингах файл.htaccess предлагается хостером, и ошибок в нем быть не может, если только вы сами их туда не впишете.

Как можно решить: Убедитесь в наличии файла.htaccess. Он должен лежать в корневой директории вашего сайта. Если он есть, сделайте резервную копию файла и удалите его совсем. Сайт без файла.htaccess отлично работает, и если так и случилось – значит, виноват файл, его нужно корректировать или попросить хостера дать новый файл.

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

/home/UXXXXX/vash-sait.ru/www/.htaccess: Invalid command "RewritRule", perhaps mis-spelled or defined by a module not included in the server configuration

То есть, в этом сообщении вы увидите, какая директива вызывает ошибку. В нашем примере это директива RewritRule – такой директивы просто не существует. Есть директива RewriteRule, но в нашем примере пропущена одна буква, поэтому сервер отвечает ошибкой.

  1. Скрипт очень большой или многофункциональный, поэтому для его работы нужно большое количество памяти. Такая причина может возникнуть на виртуальном хостинге, где в php настройках сайта устанавливается лимит памяти, а также отслеживается общий объем памяти, потребляемой всеми скриптами и файлами. Если потребление памяти превышает установленный лимит (смотрите свой тарифный план на хостинге), то работа скрипта прекращается и вы получаете долгожданное сообщение error 500 внутренняя ошибка сервера . Устанавливается такое ограничение для того, чтобы предупредить появление повышенной нагрузки на сервер со стороны аккаунтов виртуального хостинга.

Как можно решить: обратитесь в службу технической поддержки хостинга. Если они не помогут устранить ошибку 500 — меняйте хостинг.

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

Очень часто бывает так, что во время пользования интернетом появляются разные ошибки. Самой распространенной среди них является так называемая "ошибка 500" или "500 Internal Error Server".

Причины возникновения ошибки Internal Error Server

  1. Когда в файлах.htaccess используются недопустимые конструкции, которые не могут работать на том или ином хостинге. Очень часто такая ошибка может появляться в том случае, если вы будете использовать инструкции от Russian Apache.
  2. Если скрипт работает слишком много времени. На время работы скрипта действуют и ограничения веб-сервера. К примеру, если веб-сервер не получил ответ от скрипта в течении одной минуты, тогда сервер будет считать, что скрипт "завис" и принудительно закончит его работу.
  3. Если скрипт хочет получить намного большее количество памяти, чем это возможно по данному тарифу. В случае если скрипт нуждается в большей памяти, веб-сервер также принудительно закроет его.
  4. Если расширения PHP, которые включены в панель управления, не совместимы друг с другом.
  5. Кроме того, ошибка 500 возникает в том случае, если веб-сервер не может интерпретировать или распознать HTTP-заголовки.

Почему еще может возникать ошибка 500 и как ее исправить?

Безусловно, чаще всего ошибка 500 Internal Error Server (YouTube и другие сайты) появляется если был введен неверный синтаксис.htaccess файла или если в этом файле появились неподдерживаемые директивы. В таком случае, чтобы исправить такую ошибку и привести все в норму, необходимо всего лишь провести комментирование так называемой директивы "Options". Чтобы сделать это, просто поставьте в "решетку" (#) в начале строки - ваша проблема просто исчезнет и ошибка 500 появляться на сервере больше не будет.

Но бывает и так, что 500 Internal Error Server (youtube и другие сайты) появляется по другой причине. Это может быть, главным образом, если неправильно обращаться к скриптам CGI, хотя такое бывает крайне редко. Очень важно помнить, что в своем окончании строки должны иметь записи в формате не Windows, а UNIX, который больше подходит для правильного интерпретирования веб-сервером. Для того чтобы не получилось ошибки, необходимо скрипты CGI загружать на свой сервер по FTP в ASCII режиме. Также часто бывает, что в ответе работы CGI-скрипта формируются неправильные HTTP-заголовки. Если такое случилось, то решить такую проблему можно очень легко, просто обратитесь к error-log.

Ошибка 500 и "YouTube"

В последнее время сайт "YouTube" обновляется и меняется настолько часто, что большинство его пользователей, вместо того чтобы проводить приятные минуты здесь, все чаще видят при входе на сайт так называемую ошибку 500. Многие популярные сайты перестают работать и получают 500 Internal Error Server (YouTube не является исключением из правил). Так что же делать в таком случае? Ведь хочется просто наслаждаться сайтом, а не наталкиваться на проблемы. "500 Internal Server Error Ютуб" можно решить таким образом: попробуйте почистить куки и ваша проблема, скорее всего, решится сама по себе. Если это не поможет, тогда нужно просто набраться терпения и ждать, когда работники сайта решат свои проблемы сами.

Многие говорят, что ошибка 500 Internal Error Server YouTube появляется из-за крашей, но это не совсем так. В последнее время ничего такого на таких солидных сайтах, как этот, замечено не было. Конечно, любое изменение может привести к неприятным последствиям, но они, как правило, быстро решаемы.

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

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

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

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

Ошибки в файле.htaccess

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

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

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

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

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

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

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

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

Вывод ошибок на сайте

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

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

Замените в файле wp-config.php строку define(‘WP_DEBUG’, false); на define(‘WP_DEBUG’, true);

Измените значение переменных debug и error_reporting в configuration.php на: public $debug = "1"; и public $error_reporting = "maximum";

В конфигурационном файле по пути ~/public_html/bitrix/php_interface/dbconn.php замените значение переменных DBDebug и DBDebugToFile на: $DBDebug = true; и $DBDebugToFile = true;

В файле.env измените APP_DEBUG=false на APP_DEBUG=true

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

Иногда ошибка не выводится на странице или возникает периодически: ее тяжело отследить. Чтобы узнать текст таких ошибок, записывайте информацию о них в файл - журнал ошибок 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

При обновлении 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 означает, что на сервере веб-сайта, на который вы пытаетесь зайти, произошел внутрисистемный сбой. Из этого следует, что исправить ее могут либо владельцы сайтов, либо интернет-провайдер. Но все же есть некоторые действия со стороны рядового пользователя, которые могут повлиять и исправить ошибка HTTP ERROR 500.

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

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


Ошибка 500 в браузере Google Chrome

Причины ошибки HTTP ERROR 500

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

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


Настройки прав доступа

Запредельная длительность выполнения скрипта

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

Чтобы избежать ошибки HTTP ERROR 500 и ускорить работу скрипта, можно воспользоваться специальными сервисами для оптимизации работы медленных участков сценария. При использовании VPS или выделенных серверов можно изменить время ожидания сервера. Такие манипуляции не удастся провести с использование виртуального хостинга, если не получить соглашение со стороны технической поддержки.

Проблемы с файлом.htaccess

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

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


Файл.htaccess

Можно просмотреть сведения об ошибках сервера. Все они заносятся в специальный файл под именем – «error.log». Открыв его, вы можете найти информацию о том, какая именно из ваших директив является конфликтной. К примеру, «Invalid command ‘Prive’ сообщает нам о том, что ‘Price’ директива содержит опечатку, исправив «v» на «c» решится данная проблема.

Коду нужно больше памяти

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


Память под работу скриптов

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

13.10.17 17.2K

Разработчики и люди, профессионально работающие с веб-приложениями, боятся 500 Internal Server Error . Оптимальный способ её устранения зависит от сервера и того, что на нём запущено. В данной статье приводятся советы по диагностике и исправлению ошибки 500 .

Диагностика ошибки 500 Internal Server Error

Важно помнить, что эта ошибка происходит на стороне сервера. Это значит, что HTML-код , выполняемый на стороне клиента, а также JavaScript или любые другие запущенные в браузере объекты, не могут быть источником . Само название (Internal Server Error – ‘внутренняя ошибка сервера’ ) говорит о том, что ошибка происходит на сервере.

Устранение ошибки на популярных платформах

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

Вот некоторые распространённые проблемы, которые могут вызывать подобную ошибку в часто используемых CMS :

  • Если вы только что обновили движок до новой версии, вероятно, обновление прошло с ошибками и необходимо провести его повторно. Скорее всего, на сайте разработчика есть инструкции, как это правильно сделать.
  • Если вы только что активировали новый плагин или новую тему, стоит попробовать отменить эти изменения. Даже профессионально написанные плагины могут конфликтовать с другими и вызывать 500 Internal Server Error nginx
  • Если вы обновляли CMS , старые плагины и темы могут быть с ней несовместимы. Единственное, что можно сделать в таком случае - отключать их по очереди, пока ошибка 500 не исчезнет.
  • Неправильно заданные права доступа на сервере или ошибки в файле .htaccess . Серверу не удаётся получить доступ к скриптам, файлам и другим ресурсам, поэтому он выдаёт ошибку.

Когда причиной ошибки 500 Internal Server Error являются скрипты и плагины, лучше всего искать ответы на сайтах их разработчиков.

Устранение ошибки на стороне серверных скриптов

Другой причиной ошибки 500 Internal Server Error может стать разработка и тестирование собственных скриптов.

Чтобы справиться с такой ошибкой, попробуйте следующие решения :

  • Настройка прав на сервере : часто неверная настройка прав доступа к файлу или папке приводит к тому, что сервер выдаёт . Из-за того, что ему не удаётся запустить скрипт. Выясните, какие права должны быть настроены, и выставьте их соответствующим образом.
  • Превышено время ожидания : возможно, истекло время ожидания ответа от PHP или другого серверного скрипта. Это происходит из-за того, что недоступен определённый ресурс или коде была допущена ошибка, запускающая бесконечный цикл.
  • Превышено время ожидания соединения с сервером: если сервер был занят, перезагружался или потерял соединение, скрипт может выдать ошибку 500 Internal Server Error . Возможно, в следующий раз ошибки не будет. Но если ошибка появляется при тестировании, велика вероятность того, что она встретится и пользователям.
  • Ошибки в файле.htaccess: в некоторых случаях ошибку 500 может вызывать код, прописанный в файле .htaccess .
  • Ошибки в скрипте: если ошибку выдаёт скрипт, можете запросить у него подробную информацию об ошибке. К примеру, в PHP можно включить вывод ошибок на экран или в лог-файл, добавив директиву display_errors . По умолчанию среда выполнения может скрывать ошибки, но это не очень удобно для отладки программы.

Попросите помощи у системного администратора

В некоторых случаях у разработчиков нет полного контроля над сервером.

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

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

Ошибку 500 Internal Server Error довольно легко устранить

500 Internal Server Error — как исправить ? В большинстве случаев причины возникновения ошибки 500 легко исправляются. Проблема заключается в том, что без конкретной информации определение причины возникновения сбоя усложняется. Легче всего справиться с ошибкой, когда разработчик выяснит, что изменилось перед возникновением ошибки.