如何使Apache执行CGI(冒烟)而不是显示它? (但它适用于PHP)

时间:2015-02-06 10:20:37

标签: apache perl cgi

我正在使用Redhat 5.11并尝试使用Smokeping(一个Perl CGI)进入apache。

无论我做出什么改变,都会显示冒烟的源代码而不是执行:

  • 我已经按照此文档:http://httpd.apache.org/docs/2.2/fr/howto/cgi.html
  • 安装了mod_perl,mod_alias和mod_cgi接口(我可以看到perl_module(共享),alias_module(共享)和cgi_module(共享),当我运行httpd -M时)
  • 我做了一个toto.php,它可以工作,我可以执行我的页面。那么其他CGI应该工作,不是吗?我在conf.d / smokeping.conf配置的路径中将此文件放在与冒烟完全相同的路径中(ScriptAlias / cgi-bin / / var / www / html / smokeping /)
  • 我做了一个toto.pl,但它不起作用,代码显示而不是执行。
  • 我在目录字段中添加了Options + ExecCGI ...
  • 已安装Perl 5.8.8

为什么冒烟不起作用或为什么我的非常简单的perl CGI没有被执行?请问你有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您是否在Apache配置中设置了相应的文件关联?

AddHandler cgi-script .cgi .pl 

答案 1 :(得分:0)

@ arco444我不知道它是为CGI还是mod_perl编写的,但是它与mod_perl一起工作。

经过多次尝试,它能够使用此选项执行我的代码(它们是.cgi或.pl扩展名):

<Directory /var/www/html/smokeping/ >
        SetHandler cgi-script
        Options ExecCGI
</Directory>