What the difference between the php5 module (libapache2-mod-php5) and the php5 filter module (libapache2-mod-php5filter) for apache2? Which one should I use in which environment?


libapache2-mod-php5filter doesn't pass all http request methods through to your PHP application - for example, PUT and OPTIONS requests are answered directly by Apache, rather than your PHP application.

I assume that it's limiting the methods that get processed by PHP as a security measure.

libapache2-mod-php5, on the other hand, passes all requests through for processing by PHP.

From https://launchpad.net/ubuntu/+source/php5/5.3.3-7ubuntu1, this message:

"Unless you specifically need filter-module support, you most likely should instead install libapache2-mod-php5"

  • See below. Filter modules (mod-php5filter) are completely different from content modules (mod-php5). – lucian303 May 24 '13 at 23:30

For ease of deployment and configuration, use libapache2-mod-php5.

It really is a lot easier, but causes higher memory usage (as PHP is loaded for each request)

For scalability, use mod_fcgi and php-fpm.

Because it runs a pool of PHP Listeners, then uses FastCGI protocol to communicate between Apache and the Pool of PHPs.

  • Is this still the case three years later? Are there any other modules etc. I should consider these days? – David Winiecki Jan 30 '15 at 2:13
  • Dunno. I stopped using PHP. – Tom O'Connor Feb 2 '15 at 10:42

libapache2-mod-php5filter is used for internal apache php filters. I suppose you could run apps this way, but it's far from recommended as this is not its intention. mod-php5 on the other hand is a content module that generates content (from your php app) and that is what should be used.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.