Новостей | Акций


Программирование Версия для печати
» 500 Internal Server Error (Внутренняя ошибка сервера) »  16.01.2012
3819

500 error

500 Internal Server Error (Внутренняя ошибка сервера) - Любая внутренняя ошибка сервера допустимая разработчиком, которая не в ходит в рамки остальных классов ошибок 5хх.
На самом деле причины возникновения таких ошибок невероятно много. Это может быть как и ошибка пользователя, так и ошибка сервера. Для того, что бы понять по какой причине выводиться данная ошибка сервером, нужно посмотреть в логи сервера, для получения более корректной информации.

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

Могут вестись плановые работы на сервере. Об этом может сообщатся на соответствующих сайтах событий. Отсутствие интернета тоже может быть раздражителем возникновения ошибки 500. То есть, при виде данной ошибки 500, не нужно впадать в панику или ругать разработчиков и администраторов, просто проверьте подключены Вы к сети или нет. Нужно проверить, не открываются другие сайты, если нет то нужно обратиться в службу поддержки своего провайдера или к системному администратору.

Все, описанные ниже факты, по поводу возникновения error 500, касаются разработчиков и администраторов:
•    Ошибка 500 может возникнуть по тому, что Вы забыли о пустой строке между http-заголовком и телом. 
•    Сервер хочет получить доступ к сценарию с правами чтения, но не в состоянии этого сделать, что бы устранить данный баг нужно установить атрибут на файл 555 или 755, это для Unix-систем.
•    Каталог, в котором лежит сценарий тоже должен быть выполненным, по этой причине должен иметь режим 111, а еще лучше 755.
•    Указанному серверу было сказано, что CGI программ должна быть с именем “*.cgi”, а сами указали что-то вроде “*.pl” или “*.exe”, или проверьте настройки сервера. Так же все последующие файлы “.htaccess” файлы.
•    Конфиг данного сервера, не позволяет скрипту использовать метод GET или POST. Также нужно, иногда сбрасывать буфер, или отключать буфер потока stdout, для устранения подобного бага нужно смотреть мануал по языку на котором Вы разрабатываете.