Apache上用于perl脚本的内部服务器错误500

时间:2016-03-10 05:50:59

标签: apache perl internal-server-error cgi-bin

我的cgi-bin中有一个perl脚本。它首先打印出以下陈述

print "Status: 200 OK\nContent-Type: text/html\n\n";

它在终端上完美地生成一个html表单但是当我尝试在浏览器上运行它时会出现以下错误

  

内部服务器错误服务器遇到内部错误或   配置错误,无法完成您的请求。请   联系服务器管理员[无地址]通知他们   发生此错误的时间,以及您刚刚执行的操作   在此错误之前。

我在apache配置中启用了cgi-bin,错误日志打印出以下错误

  

标题

之前的脚本输出结束

可能是什么问题,我该如何解决?

2 个答案:

答案 0 :(得分:0)

您必须将Content-Type作为打印回屏幕的第一件事。还要确保脚本设置为可执行文件。

print "Status: 200 OK\nContent-Type: text/html\n\n";

应该是:

print "Content-Type: text/html\n\nStatus: 200 OK\n";

答案 1 :(得分:0)

该脚本还需要Apache可执行才能工作

chmod a+x YourScript.pl

我已经使用以下脚本进行了测试,一旦我修复了权限,它就可以了。您还需要设置状态,如果它不是200,则默认为。

#!/usr/bin/perl

use strict;
print "Status: 200\nContent-Type: text/html\n\n";

print "<p>Foo</p>";