Perl: 500-ая ошибка на сайте

Материал из 1GbWiki.

Версия от 19:05, 11 апреля 2011; Renton (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

[править] Описание

В 99% процентах случаев скрипты Perl на UNIX-хостинге 1Gb.ru выдают 500-ую ошибку из-за синтаксической ошибки или из-за неустановленных модулей, которые подключаются в скрипте через директивы use. В Интернете море информации по этой теме, в частности ответов на вопросы "Почему нет ошибки в лог-файлах web-сервера?", "Почему при любых ошибках Perl сообщает только 500-ую ошибку?", "Куда по умолчанию Perl пишет ошибки?", поэтому в этой статье речь пойдет только о том, как решить и решить быстро.

Важно отметить, что в первую очередь не нужно смотреть лог-файлы и "права доступа" к файлам, а лучше сделать то, о чем говорится ниже.

[править] Решение

  • В начало вашего скрипта просто добавьте строку:
use CGI::Carp qw(fatalsToBrowser);

то есть получится, что ваш скрипт выглядит так:

#!/usr/bin/perl

use CGI::Carp qw(fatalsToBrowser);
...
ваш код
...

После этого, если обратиться к скрипту через обозреватель, то вы увидите настоящую ошибку.

  • Если вы работаете в шелле, то ошибку можно посмотреть так:
perl -l ваш_скрипт.pl

[править] См. также

[править] Ссылки

Личные инструменты