Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl XS包含在a“;使用lib”;目录可以’;ISAPI找不到_Perl_Iis_Isapi - Fatal编程技术网

Perl XS包含在a“;使用lib”;目录可以’;ISAPI找不到

Perl XS包含在a“;使用lib”;目录可以’;ISAPI找不到,perl,iis,isapi,Perl,Iis,Isapi,我有一个Perl web应用程序,它在Windows Server 2003上的Apache和IIS6上运行。在Apache上,这个脚本工作得很好。在使用ISAPI的IIS中,我收到以下错误消息: 软件错误: 无法加载 用于的“lib/auto/Sub/Name/Name.dll” 模块子::名称:加载文件: 在上找不到指定的模块 C:/Perl/lib/DynaLoader.pm第230行。 在lib/DBIx/Class/Schema.pm第10行 在请求中编译失败 lib/DBIx/Cla

我有一个Perl web应用程序,它在Windows Server 2003上的Apache和IIS6上运行。在Apache上,这个脚本工作得很好。在使用ISAPI的IIS中,我收到以下错误消息:

软件错误:
无法加载 用于的“lib/auto/Sub/Name/Name.dll” 模块子::名称:加载文件: 在上找不到指定的模块 C:/Perl/lib/DynaLoader.pm第230行。 在lib/DBIx/Class/Schema.pm第10行
在请求中编译失败 lib/DBIx/Class/Schema.pm第10行

BEGIN失败--编译在处中止 lib/DBIx/Class/Schema.pm第10行。
在(eval)的require中编译失败 39)第3行。。。繁殖于 C:/Perl/lib/CGI/Carp.pm第314行。
BEGIN失败--编译在处中止 My/Schema.pm第2行。汇编 在…处请求失败

在IIS中不使用ISAPI时,它运行正常。我们希望在IIS环境中继续使用ISAPI。为什么它找不到这个模块,即使它在运行普通Perl时找到了

编辑:

我们用相对路径来称呼它

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

莫布雷,你的评论启发了我们。使用香草Perl解释器和ISAPI之间的相对路径不同

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

谢谢你的帮助

Mobrule,你的评论启发了我们。使用香草Perl解释器和ISAPI之间的相对路径不同

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

谢谢你的帮助

@INC
在这两种环境中是否有所不同?顺便说一句,问题标题暗示您正在明确地执行
使用lib…
,但您没有在正文中提到这一点。您是否可以包括相关的代码(指令
use lib
以及尝试加载正在爆炸的模块的
use
行)?特别是,使用ISAPI可能会更改Perl的默认目录--。您是使用相对路径还是绝对路径调用
使用lib
?这两种环境之间的
@INC
是否有所不同?顺便说一句,问题标题暗示您正在明确地执行
使用lib…
,但您在正文中没有提到这一点。您是否可以包括相关的代码(指令
use lib
以及尝试加载正在爆炸的模块的
use
行)?特别是,使用ISAPI可能会更改Perl的默认目录--。您是使用相对路径还是绝对路径调用
use lib