Http 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 internal server error. Как ее исправить.

Ошибка 500 Internal server error. The server encountered an internal error or misconfiguration and was unable to complete your request (внутренняя ошибка сервера) возникает вследствие целого букета различных неполадок на самом сайте. Окно с ошибкой выглядит по-разному для каждого сервера, но суть, однако, для всех их одна. Примеры скриншотов с ошибкой:

С сайта Google

С сайта YouTube

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

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

Неполадки могут возникнуть после загрузки файла Localstart.asp . Убедитесь, что пользователи имеют доступ на запуск сценария, указанного в данном файле. Для проверки перейдите на вкладку Администрирование (можно найти через меню «Пуск»), щелкните по команде «Службы IIS », затем найдите «Веб-узел по умолчанию», выберите свойства искомого файла. На вкладке «Безопасность (файлов)» найдите строчку «Анонимный доступ» и снимите флажок, если он там установлен. Проверьте работоспособность сервера. Внимание! В различных версиях Windows путь к данному файлу может выглядеть по-разному.

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

Также удостоверьтесь в том, что имеется соответствующий допуск к файлам (его можно изменить по FTP), а также, что содержащиеся скрипты передаются по текстовому ASCII-режиму (не допускается использование других кодировок!). Опять же, откройте на сервере error.log и взгляните на текст ошибки. Если она имеет вид: «Premature end of script headers…», то это тот самый случай. Проверьте правильность использования скрипта, он должен изначально содержать строку, идентифицирующую тип загружаемого контента (пример: Content-type: text) и лишь затем, собственно, сам контент. Исправьте заголовки и перезапустите сервер. Ошибка 500 не исчезла? Вероятно, вам придется провести проверку скрипта целиком, сверяясь с соответствующими диагностическими материалами.

Ошибка 500 (Internal Server Error) - внутренняя ошибка сервера - 4.2 out of 5 based on 9 votes

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

Часто такая ошибка возникает в таких CMS как WordPress, Joomla, Битрикс, OpenCart и других. Поэтому мы рассмотрим самые распространенные причины возникновения данной ошибки и способы ее устранения.

Что означает ошибка 500

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

Вообще причин возникновения ошибки 500 может быть огромное множество, рассмотрим те которые встречаются чаще всего.

Стандартная страница ошибки выглядит так:

По каким причинам может показываться данная ошибка и как ее исправить

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

Решение: Проверьте права доступа на папки и файлы сайта. Для папок рекомендованы права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.

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

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

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

Решение: Посмотрите имеется ли в корневой папке сайта файл.htaccess. Если он там есть сделайте его резервную копию и попробуйте вовсе удалить. Если после этого сайт заработал значит причина в нем.

Еще можно посмотреть сведения об ошибках в файле куда записываются все ошибки сервера, это файл error.log. В случае указания неверной директивы в файле.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

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

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

Ошибка Internal Server Error: что это?

Итак, начнем, пожалуй, с самого значения этого словосочетания. В системе (каталоге) ошибок Windows (и не только) есть ошибка под номером 500, отвечающая Internal Server Error. Перевод этого словосочетания означает внутреннюю ошибку сервера, связанную со статусом

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

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

Говоря об ошибке Internal Server Error в самом широком понимании, стоит учитывать, что возникать она может на множестве сайтов или ресурсов, написанных с помощью совершенно разных CMS. Тут, кстати, нужно разграничить причины ее возникновения.

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

Не менее распространенной причиной возникновения ошибки Internal Server Error можно назвать отсутствие корректных прав доступа. Так, например, если на PHP файлы скриптов, которые размещены на хостинге, имеют права доступа 777, очень может быть, что их исполнение попросту блокируется сервером, вследствие чего и выдается сообщение об ошибке.

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

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

Наконец, одна из самых распространенных ситуаций возникновения ошибки Internal Server Error - это содержание некорректных директив в файле.htaccess (кстати, при работе с движком WordPress это проявляется наиболее часто). Вот теперь мы вплотную подошли к поиску решения для каждой конкретной ситуации.

Ошибка Internal Server Error: как исправить простейшими способами

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

При слишком долгой работе исполняемого скрипта можно попробовать увеличить время ожидания, правда, тут есть одна загвоздка. Такое решение может сработать на выделенном сервере или VPS (Virtual Private Server), а в случае никакого эффекта не будет.

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

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

Проблемы с движком WordPress

С WordPress дело обстоит хуже. Дело в том, что этот движок способен перезаписывать оригинальный файл.htaccess, отвечающий за управление доступом к файлам и папкам хостинга, а ведь оригинальный файл должен создаваться всего один раз, и тем более не в WordPress!

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

В некоторых случаях может потребоваться обновить WordPress до последней версии и отключить функцию перезаписи файла. Для начала скачиваем на компьютерный терминал оригинальный файл.htaccess, затем входим на сайте в папку по пути /wp-admin/includes/ с последующей загрузкой файла misc.php, который необходимо открыть, скажем, в стандартном «Блокноте» (или любом другом текстовом редакторе) и найти строку функции «function save_mod_rewrite_rules». Теперь в самой функции переходим к строке «return insert_with_markers($htaccess_file, "WordPress", $rules);» и заменяем ее на «return true;» (естественно, все команды прописываются без кавычек). Остается только сохранить изменения и загрузить новый файл на хостинг с заменой старого файла misc.php.

Недостатком такого метода является только то, что в данном случае отключается обновление WordPress. При подключении плагинов они работать, естественно, не будут.

Заключение

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

При плохой системной конфигурации,работа сервера может пойти наперекосяк,и тогда Hypertext Transfer Protocol (HTTP) показывает сообщения об ошибках.В частности,сообщение об ошибке «HTTP 500 Internal server error» обычно происходит,когда администратор сайта пытается загрузить файл на сайт.Для администраторов,которые управляют сервером,такая ситуация не должна быть проигнорирована,так как страдают конфигурационные файлы системы.Чтобы исправить эту ошибку,требуются усилия команды,и они начинаются с конечного пользователя,уведомлением администратора сервера и заканчивается хостингом сайта,что бы принять меры.500 Internal Server Error-это общее сообщение об ошибке, выдаваемое при отсутствии более конкретных подходящих сообщений.

Как правило,для решения этой проблемы необходимо воспользоваться помощью лог-файлов,которые расположены в следующей папке:
=>/var/log/message
=>/var/log/httpd/error_logs (/var/log/lighttpd/error_log /var/log/httpd/error_log)

Так что вы даже можете быть удивлены,почему ваш PHP-скрипт выдаёт внутреннюю ошибку сервера 500.Эта ошибка возникает только из-за программного обеспечения веб-сервера.Однако,просмотрев журналы можно не обнаружить множество деталей.Эта проблема может быть вызвана:

  • Уродливым php-cgi-скриптом
  • Недопустимая директива в.htaccess или других config file
  • Ограничения,наложенные файловой системы и программным обеспечением сервера (например,файл php журнала размер 10 Мб)
  • Отсутствует php.ini (или не может прочитать файл php.ini)

В большинстве случаев она является недействительной директивой.htaccess.Однако недавно я наткнулся на web server w/o/etc/php.ini. Я давно настроил этот сервер (Apache в chroot jail). Поэтому нужно сохранять два файла один за пределами сервера,а другой внутри сервера:
=>/etc/php.ini
=>/chroot/etc/php.ini <- этот файл отсутствует

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

Причины и решения:

1 - система безопасности (mod_security)

mod_security-это система безопасности,которая работает на webserver для выявления типичной хакерской деятельности,если они пытаются сделать что-то на сервере.Она ищет структуры, широко используемые хакерскими скриптами и слова,и если правило срабатывает,она отправляет ошибку 500,и даже может временно заблокировать IP-адрес посетителя.
В mod_security есть правила,которые будут перечислены в журналах ошибок *и* в mod_security журнале.

2 - suexec

Если сервер настроен на использование php_suexec (который предназначен для обеспечения безопасности чуть лучше в том, как хранятся файлы и разрешения управляются с PHP скриптами), то вам не позволят установить какие-либо файлы или папки в уровни разрешений «777» («world-writable). Максимально допустимый в таких случаях, как правило, уровень разрешений 755.
В этой ситуации, если вы установите на папку уровень разрешения «777», сервер выдает 500 Internal Server Error и блокирует любые скрипты или файлы в этой папке.Заблокированные папки будут перечислены в журналах.Таким образом, в этом случае вы должны использовать уровень разрешения 755 вместо 777 при чтении инструкции, которые предполагают использование уровня разрешений «777».

3 - ошибки синтаксиса.htaccess .htaccess ограничений, налагаемых main server configuration

Если ваш сервер настроен на ограничение использования определенных директив в файлах.htaccess, но вы используете что-то не разрешенное,то будет срабатывать “500 Internal Server Error” , и ваш сайт будет недоступен, пока вы не решите проблему.
Точные правила будут записаны в журналы,например внутри каталога subdomian,убедитесь в том, что.htaccess находится в этом каталоге.

# Различные правила перезаписи.

RewriteEngine on
++++++++++++++++++++++
#Если ваш сайт работает в VirtualDocumentRoot на http://example.com/,
# раскомментируйте следующую строку:
RewriteBase / <-удалить хэш (#)

4 - ошибки PHP

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

5 - плохое содержание configure.php

Если URL-адреса или пути,или что-нибудь ещё,находятся в вашем файле configure.php -это информация для другого сервера,или не правильно для *вашего* server,то для многих как ни странно,могут возникнуть проблемы, в том числе, возможно и ошибка 500. Однако, как правило,это будут очень разные симптомы.Просто убедитесь, что Вы не скопировали файлы configure.php с одного сервера на другой, даже localhost.