- Главная
- Статьи и уроки
- Статьи о хостинге
- В чем причина появления ошибки 500 «Internal Server Error»
В чем причина появления ошибки 500 «Internal Server Error»
Если вы не имеете никакого отношения к сайту, на котором возникла данная ошибка, то вам просто нужно ждать, пока администратор изменит ситуацию и сайт вновь возобновит свою работу. Но в том случае, если вы являетесь владельцем сайта, на котором возникла ошибка 500 «Internal Server Error», постарайтесь вспомнить, какие именно изменения и когда вы вносили до появления ошибки. Если вы ничего не меняли на самом сайте и не вносили изменений в файлы, и не знаете почему возникает ошибка 500 то, скорее всего, это может быть одна из следующих причин:
-
Файл .htaccess используется с недопустимой инструкцией. Чаще всего инструкции php_value и php_flag допускаются только в mod_php, который на хостинге может не использоваться. В CGI или FastCGI такие инструкции показывают ошибку.
-
Медленная работа скрипта. Например, есть ограничения от веб-сервера: если скрипт не активен в течение 60 секунд или зависает, то он завершается под видом ошибки 500.
-
Скрипт требует намного больше памяти, чем это разрешено по тарифному плану. Кроме внутреннего PHP лимита памятина хостинге установлен менеджер, контролирующий используемое скриптами количеством памяти. Если скрипт требует для своей работы слишком много памяти, его активность принудительно завершается менеджером.
-
В панели управления включена несовместимость расширений. Могут быть одновременно включены eaccelerator и APC, или же eaccelerator и XCache, что будет приводить к ошибке Segmentation Fault, а эта ошибка приведет к ошибке 500 «Internal Server Error».
-
Скрипт возвращает HTTP-заголовки, которые веб-сервер не может распознать и не понимает, как их интерпретировать. Если вы установили новый скрипт, проверьте все переменные и протестируйте его работу.
Пример ошибки:
...Invalid command 'DirectoryInex', perhaps mis-spelled or defined by a module not included in the server configuration...
Веб-сервер обращает ваше внимание на то, что правило «DirectoryIndex» прописано с ошибкой или же не включено в настройках самого сервера.
Также обратите внимание на то, чтобы в файле .htaccess не было следующих параметров (их можно просто удалить):
php_value
php_flag
php_admin_flag
Приведем такой пример:
php_flagregister_globalsOn
После изменения оно будет выглядеть так:
# php_flagregister_globalsOn
Если по какой-то причине не помогло все, что вы делали, обратитесь в техподдержку хостера и задайте вопрос, почему возникает ошибка 500 internal server error .
Еще рассмотрим вариант, если вы ошиблись и поместили некорректную инструкцию в файл .htaccess. В файле error.log вы найдете приблизительно такое:
[Wed Apr 8 20:01:58 2018] [alert] [client 217.16.16.16] /home/uXXXXX/ваш_домен.ru/www/.htaccess:
Invalid command 'DrectoryIndex', perhaps mis-spelled or defined by a module not included in the server configuration
Сервер укажет на ошибку, и вам только останется её исправить.
В приведенном примере веб-сервер показал, что команда DrectoryIndex ему не знакома.
И правда, такой инструкции, как DrectoryIndex нет – есть DirectoryIndex. Вся проблема в опечатке.
Если и после выдачи правильных заголовков ошибка 500 не исчезла, необходимо проверить корректность работы скрипта в целом:
> perl -cw script.pl script.pl syntax OK
Более подробную информацию о том, почему ошибка 500 "Internal Server Error" возникает на Вашем сайте, вы можете получить в файле error.log, который включается через панель управления хостингом. Обратите внимание, что ведение error.log включается только на время.
Предложить идею урока:
Новости
Новые тарифы на VDS у хостинга Спринтхост18 ноября 2024, 14:14Если вы используете Cloudflare для ваших сайтов, обратите внимание
07 ноября 2024, 13:49Бот против ботов. Кейс, как справиться со спамом в Телеграм
06 ноября 2024, 14:08Занимайте места на Эпик-Дзен
28 октября 2024, 13:32QWINS.co представил бюджетный тарифный план на заказ виртуального сервера
08 октября 2024, 12:51