-1

我刚刚获得了一个新的 Cent OS 虚拟服务器来设置一个运行 Apache 2.2 的 Web 应用程序。我有一个需要通过浏览器运行的 perl 脚本,当我尝试运行它时,我的浏览器中出现错误 500。
我设置了一个简单的 helloworld 测试来简单地让 perl 向浏览器输出一些信息。

我将此添加到 httpd.conf

<Directory "/var/www/my_main_dir/testperl">
AddHandler cgi-script .cgi .pl
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

我创建了一个只包含两行的 hello.pl 文件:

print "Content-type: text/html\n\n";
print "Hello, world!\n";

尝试在浏览器 ( http://mydomain.com/testperl/hello.pl ) 中提取它会导致 500 内部服务器错误。

同时,我创建了 hello.html:

print <HTML><BODY>
Hello, world!
</BODY></HTML>

这在我的浏览器中很好(http://mydomain.com/testperl/hello.html

任何帮助,将不胜感激。

4

1 回答 1

1

评论是对的,你需要一个 shebang,所以知道如何处理你的 Perl 脚本。假设 Perl 是 /usr/bin/perl,添加#!/usr/bin/perl为第一行。

如果它仍然不起作用,请确保 Perl 脚本是可执行的,并且运行 Apache 的用户有权执行它。

于 2013-01-19T20:17:04.163 回答