apache2 and php5: module or filter

Solution 1:

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"

Solution 2:

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.