Tre*_*nas 2 apache perl cgi ubuntu-12.04
我有简单的脚本.我已经在命令行中测试了它.一切都好.但是我的浏览器无法执行它.它总是试图下载它.我已经解决了所有apache配置文件,但我找不到任何麻烦.
/etc/apache2/sites-available looks like this:
ScriptAlias /cgi-bin/ /var/www/president/cgi
<Directory "/cgi-bin/ /var/www/president/cgi">
AddHandler cgi-script cgi pl
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Run Code Online (Sandbox Code Playgroud)
脚本很简单
#!/usr/bin/perl -w
use CGI;
print "Content-type: text/html\n\n";
foreach (sort keys %ENV) {
print "<i>$_</i>: $ENV{$_}<br/>\n";
}
Run Code Online (Sandbox Code Playgroud)
你应该:
#!/path/perlchmod 755 /var/www/president/cgi/myscriptname.pl,和error_log!;)但可能问题是
AddHandler cgi-script cgi pl
Run Code Online (Sandbox Code Playgroud)
这应该是
AddHandler cgi-script .cgi .pl
^ ^ dots here
Run Code Online (Sandbox Code Playgroud)
你也有错误的<directory...规格..
这部分:
<Directory "/var/www/president/cgi">
AddHandler cgi-script .cgi .pl
Run Code Online (Sandbox Code Playgroud)
和/或检查这样的行:
LoadModule cgi_module lib/apache2/modules/mod_cgi.so
Run Code Online (Sandbox Code Playgroud)
Ps:不相关,但仍然是一个很好的建议,请阅读关于Plack&的一些事情PSGI.可以加速你的perl-web-app开发很多很多(很多次).(你可以没有这样的问题生活):)