【发布时间】:2014-10-30 11:03:01
【问题描述】:
我在 Apache 2.4.7 和 Ubuntu 14.04 下。
我正在尝试在ModPerl::Registry 下运行以下基本 perl 脚本 (/home/fred/workspace/portfolio/cgi/fred.pl) 但它不会执行(浏览器将其视为要下载的文件,而不是 perl 脚本)
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hi Fred !";
这是我的虚拟主机配置:
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/fred/workspace/portfolio/html
AddHandler perl-script .cgi .pl
PerlModule ModPerl::Registry
Alias / /home/fred/workspace/portfolio/cgi/
<Location />
SetHandler perl-script
PerlHandler ModPerl::Registry
Require all granted
Options +ExecCGI
</Location>
我之前跑过
sudo a2enmod cgi
实际上启用了 cgid(我的 apache 是线程化的),很好。
当我输入 127.0.0.1/fred.pl 时,没有执行(fred.pl 的权限为 777)
有什么想法吗?
谢谢
【问题讨论】:
-
你检查过错误日志吗?
-
是的,error.log 中没有异常。在 access.log 中有这个:127.0.0.1 - - [05/Sep/2014:14:58:06 +0200] "GET /fred.pl HTTP/1.1" 200 249 "-" "Mozilla/5.0 (X11; Ubuntu;Linux x86_64;rv:32.0) Gecko/20100101 Firefox/32.0"
-
如果我说 curl localhost/fred.pl 有效吗?
标签: perl apache2 cgi mod-perl2 mod-perl-registry