mod_ext_filter和mod_filter之间的区别?

时间:2016-01-28 20:26:08

标签: php apache centos6 contao mod-filter

我使用this指南在CentOS 6.4服务器上安装了PHP 5.6.17。该服务器上正在运行Contao安装。 Contao默认带有这些指令.htaccess:

##
# Gzip compression
# @see https://github.com/h5bp/html5-boilerplate
##
<IfModule mod_deflate.c>
  <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
    AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
    AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
  </IfModule>
</IfModule>

这可以实现自动Gzip压缩。但是,在该服务器上,我注意到默认情况下未启用mod_filter扩展名,即使它应该是php56w-common包的一部分(请参阅https://webtatic.com/packages/php56/)。我确实注意到虽然启用了mod_ext_filter扩展程序 - 我相应地更改了我的指令(将mod_filter替换为mod_ext_filter),这似乎有效。

之前我从未见过mod_ext_filter所以我想知道这两个模块之间的确切区别是什么(为什么更常见的(?)mod_filter模块不可用于CentOS的php56w-common包。)

1 个答案:

答案 0 :(得分:1)

&#34;我相应地更改了我的指令(用mod_ext_filter替换了mod_filter),这似乎有效。&#34;我无法想象这可能意味着什么,但这两个模块使用完全不同的指令并用于不同的目的。 mod_ext_filter允许您在自己选择的外部脚本中编写过滤器。 mod_filter运行从已编译模块加载的过滤器。

  

Apache Module mod_filter

     

描述:上下文相关的智能过滤器配置模块

https://httpd.apache.org/docs/2.2/mod/mod_filter.html

  

Apache模块mod_ext_filter

     

描述:在传递给客户端之前,通过外部程序传递响应正文

https://httpd.apache.org/docs/2.2/mod/mod_ext_filter.html

如果 - 我怀疑 - 您没有使用任何一个模块,为什么要加载它们?

编辑:你指的是PHP过滤模块吗?如果是这样,那就是永远存在于PHP中。运行php -m | grep filter以查看自己列出的内容。