2

如何从本地主机运行 perl 脚本?

我已经安装了 Apache 2.2 和 Active Perl 5.16.3。我能够从命令提示符运行 perl 脚本。但由于我正在处理 Web 应用程序,我希望它从 localhost 运行。

但是,我在浏览器中收到以下错误

内部服务器错误 服务器遇到内部错误或配置错误,无法完成您的请求。

请帮帮我!

4

3 回答 3

0

您可以从 Web 浏览器运行 cgi 脚本。CGI 意味着它应该在将任何输出发送到服务器(将其发送回浏览器)之前发送一个 HTML 标头。

http://perldoc.perl.org/CGI.html#NAME

http://www.cs.tut.fi/~jkorpela/perl/cgi.html

像这样:

use CGI; # load CGI routines
$q = CGI->new; 
print $q->header; # create the HTTP header
print $q->start_html('hello world'); # start the HTML

### your script logic goes here

print $q->end_html; # end the HTML

当然,CGI 已经过时了,对于新的开发,您应该使用一些更新的框架,例如:Dancer、Mojolicious、...

于 2013-10-18T09:40:40.907 回答
0

您的问题可能与 Apache 的配置有关。(可能是 Apache 需要为 .cgi 脚本进行配置) - 如果是这种情况,那么您可以在此处找到有关此方面的好信息:

http://www.perlmonks.org/?node_id=44536
http://www.cgi101.com/book/connect/winxp.html
http://www.editrocket.com/articles/perl_apache_windows.html

通常,您需要做很多事情才能使其正常工作。遵循良好的 HOWTO 以确保正确安装和配置所有内容通常会让您在本地 Windows 机器上执行脚本。

于 2013-10-18T22:42:49.567 回答
0

如果有人在 2017 年寻找答案,请在 Windows 2010 机器上进行操作。

  1. 从 perl 站点下载 Strawberry perl 安装在默认目录中。C:\Strawberry

  2. 从https://httpd.apache.org/download.cgi#apache24下载 Apache

  3. 一旦你成功让 apache 服务器运行,然后

  4. 将您的 perl 脚本放在 Apache24/cgi-bin/ 文件夹中。你的 perl 脚本的第一行应该指向安装 perl 的路径,对于我来说它是 #!C:/Strawberry/perl/bin/perl.exe 你应该根据你的安装文件夹更改你的路径

文件名 - first.pl

#!C:/Strawberry/perl/bin/perl.exe
print "Content-type: text/html\n\n";
print "Hello, World.";
  1. 现在您可以从浏览器http://localhost/cgi-bin/first.pl运行您的脚本
于 2017-03-29T23:03:53.263 回答