我的cgi-bin中有一个perl脚本。它首先打印出以下陈述
print "Status: 200 OK\nContent-Type: text/html\n\n";
它在终端上完美地生成一个html表单但是当我尝试在浏览器上运行它时会出现以下错误
内部服务器错误服务器遇到内部错误或 配置错误,无法完成您的请求。请 联系服务器管理员[无地址]通知他们 发生此错误的时间,以及您刚刚执行的操作 在此错误之前。
我在apache配置中启用了cgi-bin,错误日志打印出以下错误
标题
之前的脚本输出结束
可能是什么问题,我该如何解决?
答案 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>";