开发者

Perl XS included from a “use lib” directory can’t be found by ISAPI

I have a Perl web application that runs on both Apache and IIS6 on Windows Server 2003. On Apache this script works just fine. In IIS using ISAPI, I am getting the following error message:

Software error:

Can't load 'lib/auto/Sub/Name/Name.dll' for module Sub::Name: load_file:The specified module could not be found at C:/Perl/lib/DynaLoader.pm line 230. at lib/DBIx/Class/Schema.pm line 10

Compilation failed in require at lib/DBIx/Class/Schema.pm line 10.

BEGIN failed--compilation aborted at lib/DBIx/Class/Schema.pm line 10.

Compilation failed in require at (eval 39) line 3. ...propagated at C:/Perl/lib/CGI/Carp.pm line 314.

BEGIN failed--compilation aborted at My/Schema.pm line 2. Compilation failed in require at...

When NOT using ISAPI in IIS it runs fine. We would prefer to continue using ISAPI in our IIS environments. Why can't it find this module, even though it does when running normal Perl?

EDIT:

We were calling it with relative paths.

use lib qw{My lib};  # line 开发者_如何转开发in question
use My::Schema; # explodes


Mobrule, your comment enlightened us. The relative path was different between using the vanilla Perl interpreter and ISAPI.

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

Thanks for the help!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜