1

我在执行 perl 脚本时遇到问题。我正在使用Alias这样的服务器目录:

Alias /epbin3/  /opt/v-hosts/user/epbin/
<Location /epbin3>
   AddHandler cgi-script .cgi .pl
  # SetHandler cgi-script
  # SetHandler perl-script
  # PerlResponseHandler ModPerl::PerlRun
   Options All
  AllowOverride None
</Location>

当我尝试执行任何 perl 文件时,浏览器返回错误 500。错误如下所示:

[Sun Jun 09 15:50:19 2013] [error] [client ipClient] Premature end of script headers: searchHotelsTh4.pl
[Sun Jun 09 15:50:22 2013] [error] [client ipClient] (2)No such file or directory: exec of '/opt/v-hosts/epilgrim/epbin/searchHotelsTh4.pl' failed

请任何人都可以告诉我是什么问题以及如何解决这个问题?

4

2 回答 2

0

如果我猜对了,那么您没有允许文件访问文件系统的 Directory 指令:

<Directory /opt/v-hosts/user/epbin/>
    AddHandler cgi-script .cgi .pl
    Options All
    AllowOverride None
</Directory> 
于 2013-06-09T13:32:49.777 回答
0

格式正确的 HTTP 回复在标头和正文之间包含一个空行。很可能searchHotelsTh4.pl缺少这样的空行,因为它根本不输出标题或缺少空行,即您可能有这个:

Content-type: text/plain
Hello, world!

当你需要这个时:

Content-type: text/plain

Hello, world!
于 2013-06-09T17:32:12.650 回答