【问题标题】:Internal server error when modperl use modulemodperl 使用模块时出现内部服务器错误
【发布时间】:2012-05-16 07:11:55
【问题描述】:

我尝试编写一个 perl_mod 脚本,但它说:“内部服务器错误”。

这是模块文件:(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 就成功了。

有什么问题?

谢谢!

【问题讨论】:

  • 查看错误日志以查找更多信息。另见:来自Stack Overflow Perl FAQHow can I troubleshoot my Perl CGI script?部分适用
  • 猜测:它找不到 mm1 模块,因为它不在您的 @INC 中。执行use lib 'path/to/module/' 或将模块放入现有@INC 路径之一。或者,模块不会自行编译。并以1; 结束。阅读@daxim 所说的以获得确切的错误消息,以及如何解决该问题。
  • (顺便说一句,让问题尽可能小!)

标签: perl module internal-server-error


【解决方案1】:

那不是 mod_perl 模块,它是 CGI 程序。

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

【讨论】:

  • 也许它是在 mod_perl 的一种使用脚本的模式下运行的。他从未说过这是一个模块。
猜你喜欢
  • 2015-05-29
  • 2021-10-07
  • 2020-08-18
  • 2019-03-21
  • 1970-01-01
  • 1970-01-01
  • 2016-06-23
  • 2023-03-10
  • 1970-01-01
相关资源
最近更新 更多