Ошибка 500 Internal Server Error - что делать? как исправить?

2015-12-25

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

Прежде всего необходимо вспомнить, какие действия были предприняты перед возникновением ошибки. Еще один способ обнаружить причину появления сообщения «ошибка 500 Internal Server Error» – вход в личный кабинет хостинга и изучение логов ошибок.

Ошибка 500 Internal Server Error

Что это?

Ошибка 500 Internal Server Error – это, по сути, отказ в обслуживании сайта. Определяется она как внутренний сбой сервера. А само обозначение цифры 500 извещает нам о коде статуса протокола НТТР, который означает:

  • один из компонентов сервера сообщил об ошибке;
  • в конфигурации сервера возникли проблемы.

Причины

Основными причинами появления ошибки 500 в большинстве случаев являются:

  • права доступа;
  • параметры памяти;
  • файл htaccess.

Что делать и как исправить?

Права доступа, как правило основная причина такой проблемы, если права на файл или папку установлены неправильно. Файлы скриптов с правами доступа 777 блокируются сервером с высвечиванием для пользователя сообщения «ошибка 500 Internal Server Error». Статус прав доступа 777 разрешают любому пользователю вносить изменения в файл, что влияет на целостность сайта и угрожает его безопасности. Необходимо уточнить права доступа: папки – 755, скрипты – 600, файлы – 644.

Скрипт пытался получить большие объемы памяти, чем предусмотрено memory_limit.

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

Слишком долгие запросы/работа скрипта. При отсутствии ответа от скрипта серверу в течение 3 минут выдается ошибка 500 (скрипт завис). Его можно запустить заново, если, например, разбить данные на части или, как вариант, через соединение ssh.

Конструкция файла .htaccess может не соответствовать директивам сервера. Для того чтобы обнаружить ошибку, нужно проверить корректность заполнения этого файла на сервере и отсутствие опечаток. Несоответствие синтаксиса файла по причине неточностей во время выполнения настроек может привести к появлению сообщения об ошибке 500. Для того чтобы решить проблему, достаточно найти в открытом файле строки, в которых используются такие конструкции как php_flag и php_value, и удалить их. Можно также написать "#" в начале (символ решетка указывает серверу, что это комментарий, а не команда).