我一直在尝试在 Windows 7 上运行一个简单的 perl-cgi 脚本。这是一个带有 OK 按钮的简单 HTML 表单,单击 OK 按钮会显示一些文本。但是点击 HTML 页面上的 OK 按钮,浏览器开始下载脚本,而不是执行和显示 perl 文件的输出。我在 httpd.conf 中添加了处理程序
AddHandler cgi-script .pl
但这无济于事。我在 httpd.conf 中添加了 ExecCGI 选项,但这也没有帮助。
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
这是正在使用的 perl 脚本:
#!C:\Perl\bin\perl
use CGI;
print "Content-type: text/plain","\n\n";
print "<html>","\n";
print "<head>\n\t<title>Server Information Ready</title>\n</head>","\n";
print "<body>","\n";
print "<h1>Server Information</h1>","\n";
print "</body></html>","\n";
这是html文件:
<html>
<head><title>Server Information</title></head>
<body bgcolor="#EEAA55">
<h3>Please click OK to get the server information</h3>
<hr><pre>
<form action="http://localhost/cgi-bin/ctest/pranav1a.pl" method="post">
<input type="submit" value="OK">
</form>
</hr></pre>
</body>
</html>
我在 chrome、IE 和 Mozilla 上试过这个。Mozilla 和 chrome 开始下载 perl 文件,但 IE 在单击 OK 按钮时只会显示一些奇怪的内容。如何使浏览器显示文件执行的输出而不是开始脚本下载?
PS:我尝试将 shebang 行用作 '#!c:/Perl/bin/perl' 似乎也不起作用。从 cmd 提示符执行时,我可以看到 perl 脚本的输出。