2011-12-03 38 views
0

我想让Apache :: ASP在OSX Lion Server上运行。我已经在融合4 OSX狮子VM的全新安装,安装的Xcode应用程序(用命令行工具),并运行以下shell命令:获取Apache :: ASP在OSX Lion Server中运行 - 已更新为Mountain Lion

sudo perl -MCPAN -e shell 

cpan> install CPAN 

cpan> install Bundle::Apache::ASP 

我添加到结束httpd.confg的文件(/Library/Server/Web/Config/apache2/httpd_server_app.conf /Library/Server/Web/Config/apache2/httpd_server_app.conf.default):

<Files ~ (\.asp)>  
    SetHandler perl-script 
    PerlHandler Apache::ASP 
    PerlSetVar Global . 
    PerlSetVar StateDir /tmp/asp 
</Files> 

但无论将设定的处理程序或perlhandler导致Apache不重新启动。拿他们两个和Apache启动,但供应.asp文件为文本文件....

更新#1:

哎呀,二三十:

sudo apachectl restart 

,我没甚至没有mod perl运行。添加以下到httpd.conf文件中得到了Apache的开始:

LoadModule perl_module libexec/apache2/mod_perl.so 
Alias /perl/ /Library/WebServer/Documents/perl/ 
<Location /perl/> 
    SetHandler perl-script 
    PerlResponseHandler ModPerl::Registry 
    PerlOptions +ParseHeaders 
    Options +ExecCGI 
    Order allow,deny 
    Allow from all 
</Location> 

$请求 - > {}方法现在会返回一个值,但是....

%test = $Request->ServerVariables(); #or $Request->ServerVariables(URL); 
    %><%= $test %><% 

输出:阿帕奇: :ASP ::集合= HASH(0x7f84114c58d8)

更新#2:

几个ServerVariables的是在Apache :: ASP与IIS未定义。语法与预期略有不同。下面将列出所有可用的服务器变量...

my $variables = $Request->{ServerVariables}; 
print join '<br>', sort keys %$variables; 

回答

0

解决方案已被添加到质疑,但简短的回答是,国防部的Perl必须运行(与默认情况下在OS X Lion中不启动...