ISAPI не может найти Perl XS, включенный в каталог «use lib» - PullRequest
2 голосов
/ 14 января 2010

У меня есть веб-приложение Perl, которое работает на Apache и IIS6 на Windows Server 2003. На Apache этот скрипт работает просто отлично. В IIS с использованием ISAPI я получаю следующее сообщение об ошибке:

Ошибка программного обеспечения:
Не могу загрузить 'lib / auto / Sub / Name / Name.dll' для module Sub :: Name: load_file: указанный модуль не может быть найден в C: /Perl/lib/DynaLoader.pm строка 230. в lib / DBIx / Class / Schema.pm строка 10
Компиляция завершилась неудачно в lib / DBIx / Class / Schema.pm строка 10.

НАЧАЛО сбой - компиляция прервана в lib / DBIx / Class / Schema.pm строка 10.
Компиляция не удалась в require at (eval 39) строка 3. ... распространяется в C: /Perl/lib/CGI/Carp.pm строка 314.
НАЧАЛО сбой - компиляция прервана в Моя / Schema.pm строка 2. Компиляция не удалось потребовать в ...

Когда НЕ используется ISAPI в IIS, он работает нормально. Мы бы предпочли продолжить использование ISAPI в наших средах IIS. Почему он не может найти этот модуль, даже если он работает при обычном Perl?

EDIT:

Мы называли это относительными путями.

use lib qw{My lib};  # line in question
use My::Schema; # explodes

1 Ответ

0 голосов
/ 20 января 2010

Mobrule, ваш комментарий просветил нас.Относительный путь отличался между использованием ванильного интерпретатора Perl и ISAPI.

use lib qw{My /Inetpub/wwwroot/cgi/lib};  # a little more specific...
use My::Schema;  # not nearly as much dying now.

Спасибо за помощь!

...