- 论坛徽章:
- 0
|
以下一个程序:
ifff.cgi
#!c:\perl\bin\perl
use CGI::Session;
use CGI;
$cgi=new CGI;
$cookie=$cgi->;cookie("CGISESSID" ||$cgi->;param('CGISESSID')||u
ndef;
$session = new CGI::Session(undef,
$cookie,{Directory=>;'c:/stmp'});
print "<Html>;<head>;</head>;<body>;abc</body>;</html>;";
如果不用perl2ex编译,可直接运行得到结果,如果用perl2exe编译,会提示:
Converting 'info.cgi' to info.exe
Warning: Can't locate APACHE/Requestrec.pm
at C:\Perl\lib\CGI.pm line 156
@INC = C:\Perl\lib, C:\Perl\site\lib, .
Warning: Can't locate APACHE/Requestutil.pm
at C:\Perl\lib\CGI.pm line 155
@INC = C:\Perl\lib, C:\Perl\site\lib, .
Warning: Can't locate APR/Pool.pm
at C:\Perl\lib\CGI.pm line 186
@INC = C:\Perl\lib, C:\Perl\site\lib, .
导致编译无法完成。
这时候要装mod_perl才会有以上这三个模块。而且必须装mod_perl2才有这三个模块。但是编译正常后,并无法正常运行得到结果。提示500错误。查看apache的error.log,提示如下:
[Fri Apr 23 13:36:22 2004] [error] [client 218.193.98.36] Premature end of script headers: ifff.exe
[Fri Apr 23 13:36:22 2004] [error] [client 218.193.98.36]
[Fri Apr 23 13:36:22 2004] [error] [client 218.193.98.36] PLEASE SEE THE PERL2EXE USER MANUAL UNDER "Can't locate somemodule.pm in @INC"
[Fri Apr 23 13:36:22 2004] [error] [client 218.193.98.36] FOR AN EXPLANATION OF THE FOLLOWING MESSAGE:
[Fri Apr 23 13:36:22 2004] [error] [client 218.193.98.36] Can't locate CGI/Session/File.pm in @INC (@INC contains: PERL2EXE_STORAGE F:\\Apache2\\cgi-bin C:\\WINNT) at (eval 4) line 3.
我想问的问题是:
为什么不编译脚本可以运行此脚本(没有缺少什么模块,不装mod_perl也可以运行。)?而编译脚本却要多出这三个模块支持才能运行? |
|