[英]Perl script displayed as plain text in linux mint?
我确实安装了libapache2-mod-perl2来通过apache将perl文件作为CGI运行
每次我尝试浏览perl文件浏览器时,都将其显示为纯文本。
###Start###
#!/usr/bin/perl -w
print "Content-type: text/html\r\n\r\n";
print "Hello there";
###End###
这是虚拟主机文件
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test
ServerName perl.dev
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/test>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /var/www/test/cgi-bin
<Directory "/var/www/test/cgi-bin">
AddHandler cgi-script .cgi .pl
Options FollowSymLinks +ExecCGI
AllowOverride none
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
当我尝试使用终端运行脚本时,它工作正常,但通过浏览器却从未显示正确的输出
谢谢
您提到“ libapache2-mod-perl2”,因此您正在使用mod_perl。
对于mod_perl,您必须使用SetHandler perl-script。
我在常规cgi和mod-perl之间有所作为。 这是我在apache2中配置mod-perl的方法:
ScriptAlias /perl-bin/ /usr/lib/perl-bin/
<Directory "/usr/lib/perl-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
#Order allow,deny
#Allow from all
Require ip 127.0.0.1 192.168.0.0/16
</Directory>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.