2012-05-16 76 views
2

我尝试编写一个perl_mod脚本,但它说:“内部服务器错误”。modperl使用模块时出现内部服务器错误

这是模块文件:(mm1.pm)

package mm1; 
use strict; 
use XML::Simple; 
use DBI; 

require Exporter; 
our @ISA = qw(Exporter); 
our @EXPORT_OK = qw(asd); 
our @EXPORT = qw(asd); 

sub asd(){ 
    print "2222"; 
} 

这是主要文件:(main.perl)

#!/usr/bin/perl -w 
use strict; 
use CGI qw/:standard/; 
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/; 
use mm1; 

print header(-type => 'text/html', -charset=>'utf-8'); 
print "asdasd"; 

,如果我尝试不运行 “使用MM1;”这个main.perl然后成功。

什么问题?

谢谢!

+3

查看错误日志以查找更多信息。另请参阅:从[堆栈溢出Perl常见问题](http://stackoverflow.com/questions/tagged/perl?sort=faq):[我如何解决我的Perl CGI脚本?](http://stackoverflow.com/questions/2165022/how-can-i-troubleshoot-my-perl-cgi-script)部分适用 – daxim

+0

猜测:它找不到mm1模块,因为它不在你的'@ INC'中。做一个'使用lib'路径到/ module /',或者把模块放在现有的@ INC路径之一中。或者,该模块不会自行编译。用'1;'结束。阅读@daxim说的是什么来获取确切的错误信息,以及如何解决这个问题。 – Konerak

+0

(顺便说一下,在尽可能小的问题上做得很好!) – Konerak

回答

0

这不是一个mod_perl模块,它是一个CGI程序。

(第一个)问题几乎可以肯定的是,您从模块文件的末尾省略了1;。但查看Web服务器错误日志将确认。

+1

也许它运行在使用脚本的mod_perl模式之一下。他从来没有说过它是一个模块。 –

相关问题