среда, 23 ноября 2011 г.

Особенности подключения модулей и сообщений об ошибках

Переносили сайт.
Проблема возникла с TrustLink:

/var/www/site/htroot/ffffff at (eval 12) line 13.
{
{
        'ffffff';

        push @INC, "$ENV{DOCUMENT_ROOT}/$o->{TRUSTLINK_USER}";
->      eval("use TrustlinkClient;") or die $!;
        my $trustlink = new TrustlinkClient($o);
        undef($o);
#       use Data::Dumper;
#       print '<pre>',Dumper($trustlink),'</pre>';

        print $trustlink->build_links();
}

Права в порядке. Добавили перед евалом
warn join ("\n", @INC);
Вывод нормальный, аномалий нет, путь к нужному модулю есть.
Вставили вместо евала прямое подключение
require "$ENV{DOCUMENT_ROOT}/ffffff/TrustlinkClient.pm";
Оказалось, он не модуль не видит, а в модуле ошибка - нет библиотеки URI. Проблема была решена установкой libwww-perl
Так из-за абсолютно невменяемого показа ошибок диагностика заняла 3 часа.

Комментариев нет:

Отправить комментарий