perl脚本中脚本标头的过早结束

时间:2013-06-09 13:08:58

标签: perl apache cgi handler

我在执行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

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

2 个答案:

答案 0 :(得分:0)

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

<Directory /opt/v-hosts/user/epbin/>
    AddHandler cgi-script .cgi .pl
    Options All
    AllowOverride None
</Directory> 

答案 1 :(得分:0)

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

Content-type: text/plain
Hello, world!

当你需要时:

Content-type: text/plain

Hello, world!