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.