2011-12-03 34 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中不啓動...