I had a surreal experience yesterday. I was following online tutorials about setting up Apache + PHP-FPM (for example, this ServerFault question: http://serverfault.com/questions/326919/how-to-set-the-httpd-conf-when-using-php-fpm-with-php5-3-8-and-apache2). I’ll let you read that rather than re-hash it.
My goal here is only to share quickly how I actually got this working.
Alright, so you know the part where it says to add the directives:
AddHandler php5-fcgi .php
Action php5-fcgi /fcgi-bin/php5.external
This didn’t work for me no matter what I did. No errors were produced, so I knew that it simply wasn’t executing the Action directive for whatever reason. In checking the Apache 2.2 documentation for Action, I noticed that a MIME type could be given in lieu of an action-type (the php5-fcgi thing). Having exhausted all other options, and knowing that the PHP file was being sent to the browser unprocessed with the MIME type
application/x-httpd-php, I decided to add:
Action application/x-httpd-php /fcgi-bin/php5.external
to my configuration. And, much to my shock, it actually worked!
So, if you find yourself as frustrated with setting up Apache + PHP-FPM as I was, I hope this tip may ease your suffering.