Разница между mod_ext_filter и mod_filter?

Я установил PHP 5.6.17 на сервере CentOS 6.4 с использованием этот руководство. На этом сервере выполняется установка 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 модуль не был доступен в php56w-common пакет для CentOS).

0

Решение

«Я изменил свои директивы соответственно (заменив mod_filter на mod_ext_filter), который, кажется, работает». Я не представляю, что это может означать, но эти два модуля используют совершенно разные директивы и служат разным целям. mod_ext_filter позволяет вам писать свои фильтры во внешнем скрипте по вашему выбору. mod_filter запускает фильтры, загруженные из скомпилированного модуля.

Модуль Apache 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 чтобы увидеть это в списке для себя.

1

Другие решения

Других решений пока нет …