繁体   English   中英

Perl脚本在Linux Mint中显示为纯文本吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM