Ошибка 500 (500 internal server error) - описание, что делать


+2 +/-
Добрый день!

На моем сайте при переходе на некоторые страницы возникает ошибка 500: 500 internal server error

Что это означает? Как исправить эту ошибку?
спросил 17 июня Илья Вебмастер в категории Сис. администрирование

1 Ответ

+1 голос
Лучший ответ

Добрый день!

Ошибка 500 (HTTP ERROR 500) появляется в случае, когда на сервере при обработке запроса произошла ошибка, но никакой дополнительной информации об этой ошибке нет. То есть, это очень общая ошибка и возникать может по множеству причин. 

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

Об основных причинах возникновения ошибки 500 и о способах ее устранения я расскажу в этой статье.

Ошибка 500 в браузере Microsoft Edge

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

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

Если вы используете веб-сервер Apache, то самой частой причиной возникновения ошибки 500 является ошибка в одном из файлов .htaccess. Либо вы сами, либо ваши скрипты (например - установщик любой CMS) внесли изменения в .htaccess и они некорректны. Проверьте вручную все файлы .htaccess, перезагрузка Apache после этого не требуется.

Ошибка 500 из-за ошибки в php-коде

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

Ошибка 500 из-за ошибок в коде php

Ошибка из-за медленного выполнения скрипта

Некоторые скрипты могут работать очень медленно. Если скрипт работает более определенного времени (обычно это 30 секунд), то веб-сервер обрывает его работу и выдает пользователю ошибку 500. Администратор сайта в таком случае увидит в error.log следующий текст:

Fatal error: Maximum execution time of 30 seconds exceeded

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

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

ответил 17 июня Эксперт Дмитрий (7,676 баллов)
выбран 25 июня Эксперт Михаил