0

尊敬的人...

我在 openSUSE 12.2 上,我的 Apache 服务器运行良好......

我复制了 index.html,其中包含:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>Program 7b</title></head>
<body>
<form method="POST" action="http://localhost/cgi-bin/7b.pl">
    Please Enter the Command :
    <input type="text" name="command" id="command" />
    <input type="submit" value="Submit" />
</form>
</body>
</html>

perl文件如下:

#!/usr/bin/perl

print "Content-type:text/html\n\n";
use CGI

$a = new CGI;
$comm = $a->param("command");
print "The Output of the entered command is:<br />";
system($comm);

cgi-bin 目录下的两个文件

但我得到错误:

脚本头过早结束在任何浏览器中运行 localhost/cgi-bin/index.html ....

我已经在apache配置中设置了perl文件的执行...

请帮助解决问题...

问候-SkyKOG

4

2 回答 2

0

尝试以下工作代码:

#!/usr/bin/perl
use strict; use warnings;
use CGI;

print "Content-type:text/html\n\n";

my $a = new CGI;
my $comm = $a->param("command");

print "The Output of the entered command is:<br />";
system($comm);

一个建议:永远不要忘记并用oruse strict; use warnings;声明变量。myour

于 2012-10-15T20:30:38.717 回答
0

Apache 将 index.html 作为脚本运行,而不仅仅是显示 HTML 文档。Apache 可能配置为将 cgi 目录中的任何内容作为脚本运行。

将 html 文件移动到另一个目录。

于 2012-10-15T20:21:25.993 回答