На моем сайте 500 Internal Server Error, что делать?

Материал из MultiWiKi
Перейти к: навигация, поиск

На моем сайте 500 Internal Server Error, что делать?


  • 1. Причин появления ошибки может быть несколько, вот лишь основные из них:


Ваши скрипты имеют не безопасные права.

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


  • Для решения этой проблемы следует устанавливать безопасные права, а именно:


На все текстовые скрипты/файлы и т.п. - 644
На все каталоги кроме public_html - 755
Каталог public_html - 750
cgi файлы - 755


  • 2. Не корректные записи в файле .htaccess


Поскольку в нашей компании для обработки PHP не используется mod_php, все настройки связанные с PHP следует заносить в отдельный файл php.ini, любые директивы не относящиеся к веб-серверу Apache будут так же вызывать 500-ю ошибку. Кроме того причиной 500-й ошибки могут быть и не поддерживаемые записи, например неверное указание названия хэндлера и т.п.


  • 3. Превышение количества запущенных процессов на Ваш аккаунт.


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


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