2010-09-16 95 views
1

我有一个Perl脚本,它可以通过网页浏览器脚本到print "Hello!"。我使用Apache作为我的本地主机服务器。我使用的操作系统是红帽5如何启用Perl web脚本在Apache上运行?

的问题是,当我键入地址HTTP://localhost/example.plhttp://127.0.0.1/example.pl,它显示了我完整的脚本代码,但没有显示“你好!”应该输出的字。

的Perl脚本:

#!/usr/bin/perl 

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

print "Hello, Perl!"; 

任何人有任何想法?谢谢!

+0

堆栈流的更多积分!嗨布莱恩你觉得在我发布这个问题之前我没有按照“教程”?再想想! – JavaNoob 2010-09-16 05:58:00

+1

布莱恩不知道你是否阅读过任何教程,如果你没有明确地这样说。他所要做的就是你在帖子中展示的知识水平。 – Ether 2010-09-16 16:37:31

+0

我不明白为什么人们低估了这个问题?问题被问到B/C人们不知道该怎么做。这并没有要求增加SO点数。这是一个有效的问题,+1 – vol7ron 2010-09-19 20:11:44

回答

2

你必须把它放在cgi-bin

正如你注意到没有,不由解释处理的文件返回可下载的文本文件,因此阿帕奇名候空间,文件将被解释/服务器处理(在公共网关接口箱)。

首先,您必须设置apache以指向cgi-bin目录 - 默认情况下会执行此操作,您可以将文件放在那里。 一旦你的文件是存在的URI会是这样的:http://localhost/cgi-bin/example.pl


注:你不能把html/js在cgi-bin目录,因为他们将被处理,并会导致服务器故障。

我推荐从apache的网站上阅读更多。

+0

我对conf文件做了所有必要的修改,但仍然不起作用。现在它告诉我“在此服务器上找不到所请求的URL /cgi-bin/example.pl”的错误。“你知道我在哪里可以在Linux中找到.htaccess文件? – JavaNoob 2010-09-16 05:33:16

+0

那么,你不必把它放在/ cgi-bin /中。你必须把它放在Web服务器将它识别为可执行文件的地方。你必须告诉网络服务器如何处理。 – 2010-09-16 05:42:31

+0

cgi-bin应该是默认创建的。您不需要触摸.htaccess文件。一旦你在cgi-bin中使用它,你可以使用Redirect/RewriteRules来掩盖路径,使得'http://localhost/index.cgi-> http:// localhost/cgi-bin/index.cgi' – vol7ron 2010-09-16 16:08:18