Почему возникает ошибка 500 Internal Server Error

Почему возникает ошибка 500 Internal Server Error

В данной статье мы рассмотрим наиболее вероятные причины возникновения ошибки 500 “Internal Server Error”. Причины указаны в порядке вероятности возникновения.

  1. Использование в файлах .htaccess недопустимых на нашем хостинге конструкций, например Options -MultiViews или php_value и php_flag. Вы можете открыть файл .htaccess текстовым редактором и найти строки, в начале которых используются указанные конструкции. Найденные строки можно удалить или добавить # в начале. Файл .htaccess может находиться в корневом каталоге вашего сайта - на том же уровне, что и файлы index.php или index.html или robots.txt.

  2. Скрипт пытается получить больше памяти, чем ограничено параметром memory_limit. Обычно достаточно увеличить этот параметр в панели управления. Увеличивать стоит постепенно, с шагом в 16 - 32 Мб, пока ошибка не пропадет. Новые настройки PHP вступают в силу в течение 3-5 минут.

  3. В панели управления или в php.ini включены не совместимые друг с другом расширения php. Например, одновременное включение eaccelerator и APC, либо eaccelerator и XCache почти наверняка будет приводить к ошибке Segmentation Fault и, как следствие, к ошибке Internal Server Error на сайте.

  4. Если вы редактировали какие либо файлы сайта в ОС Windows, то при сохранении в файл могли добавиться не совместимые с unix-форматом символы переноса строки. Для корректной работы необходимо использовать совместимые с unix-форматом переносы строк. Например, в Notepad++ этот параметр можно настроить в меню “Правка” -> “Формат конца строк” -> “Преобразовать в UNIX-формат”.

  5. Слишком долгая работа скрипта (может быть связано, например, с выгрузкой товаров на сайте, либо другими долгими запросами). Если веб-сервер не получает никакого ответа от скрипта в течение 120 секунд, скрипт считается зависшим и его работа принудительно завершается с выдачей ошибки 500. Изменить это ограничение в индивидуальном порядке на виртуальном хостинге нельзя. В качестве решения вы можете запускать выполнение скрипта, разбив данные на части, либо через cron либо напрямую через ssh-соединение.

  6. Скрипт возвращает HTTP-заголовки, которые веб-сервер не может распознать и не понимает как интерпретировать.

Хранение логов ошибок

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

Логи хранятся в папке ~/sitename.ru/log, где
sitename.ru - название Вашего сайта.

В данном примере мы рассматриваем сайт на php. Нас интересуют следующие файлы:

error.log - лог ошибок apache. Отвечает за хранение ошибок, полученных в результате работы веб-сервера

php-errors.log - лог ошибок php. Отвечает за хранение ошибок, полученных в результате работы php-файлов.

Лог сайта на python

Логи для сайта на python будет хранится в файле - wsgi-runlog/current

Лог сайта на node

Логи для сайта на node будет хранится в файле - node-runlog/current

Просмотр логов ошибок по SSH

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

10.PNG

Выберите вкладку “Файлы” и нажмите на ней кнопку “Терминал”.

11.PNG

В открывшемся окне введите команду.

cd log

12.PNG

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

ls -la

13.PNG

Чтобы вывести информация из файла введите команду.

cat error.log

Просмотр логов ошибок c помощью файлового менеджера

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

10.PNG

Выберите вкладку “Файлы” и нажмите на ней кнопку “Файловый менеджер”.

11.PNG

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

14.PNG

Для прочтения любого файла два раза нажмите на нужный файл.

Инструкция для Виртуального хостинга

Включение лога ошибок apache

Однозначно определить источник ошибки поможет включение лога ошибок. Для этого потребуется зайти в панель управления , слева от названия сайта кликнуть на иконку с тремя горизонтальными полосками и выбрать “Журнал ошибок”. Когда ошибки возникнут, то в домашнем каталоге на сервере появится файл вида sitename.ru-error.log, где sitename.ru - имя сайта, для которого вы включили лог ошибок.

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

Так же может быть полезно включить лог php ошибок поставив галочку напротив пункта error.log и нажав кнопку сохранить. Лог ошибок будет сохранен в файле log/php-errors.log.

С 2003 года
Надежность.
Нам доверяют десятки тысяч компаний и разработчиков
20 лет
Предоставляем услуги профессионального хостинга
35 000
Клиентов доверяют нам размещение своих сайтов
99.99%
Подтвержденный uptime
наших серверов хостинга
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
Наши клиенты
ВК49865