我对 Perl 中的 CGI 编程还很陌生。
为了学习它,我两天前安装了 xampp。但是我无法执行我的 perl 代码。代码如下:
#!/usr/bin/perl
use CGI;
$co = new CGI;
print $co->header,
$co->start_html(title=>'CGI Example'),
$co->center($co->hi('Subhayan welcome to CGI')),
$co->end_html;
已将代码保存在名为:Subhayan1.cgi 的文本文件中,并将其保存在 C 盘中 xampp 文件夹下的 cgi-bin 文件夹中。
当我尝试通过网络浏览器执行此操作时输入:“http://localhost/cgi-bin/Subhayan1.cgi“它出现“未找到对象页面”。
我检查了 xampp/apache/conf/httpd.conf 下的 apache 配置文件。
我检查了条目:ScriptAlias /cgi-bin/“C:/xampp/cgi-bin/”
它看起来指向正确的目录。
这是什么问题,有人可以帮忙吗?
答案1
您应该查看网络服务器访问/错误日志来查看真正的错误是什么。
您能从 Windows 命令行运行 cgi 脚本吗?
对于 Perl CGI 脚本,您应该安装 Perl 和 CGI.pm。
cmd> C:/xampp/cgi-bin/Subhayan1.cgi
The output should be:
Http 1.1
<doctype...
如果一切正常,您应该确保安装的 Perl 版本已添加为 Apache 中 CGI 脚本的处理程序。
细节:
https://stackoverflow.com/questions/560749/how-do-i-configure-apache2-to-run-perl-cgi-scripts
答案2
尝试下面的代码..它会正常工作。
#!"C:\xampp\perl\bin\perl.exe"
use CGI;
$co = new CGI;
print $co->header,
$co->start_html('CGI Example'),
$co->center('welcome to CGI'),
$co->end_html;
(或者)
#!"C:\xampp\perl\bin\perl.exe"
use CGI;
$co = new CGI;
print $co->header;
print "
<html>
<title>CGI Example</title>
<head></head>
<body>
welcome to CGI
</body>
</html>
";