So for a while now I have had this problem that whenever I go to my blog’s home page the browser tries to download the PHP file rather than the server turning that PHP code into the blog. I was thinking that it must be something wrong with a content-type setting, but everything seemed fine. Then I discovered this in /etc/apache2/mods-available/php5.conf:
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_value engine Off
</Directory>
</IfModule>
What that actually means is that if the user home directory module is loaded and the page is being loaded from the user’s home directory (that’s the ~seth bit), then TURN OFF PHP!
So you can see why it wasn’t working. I assume that in some recent update to Apache or PHP there is some security concern that has caused a paranoid code maintainer to put in this draconian setting. Once I had commented that out, it was fine.
Then I needed to update to WordPress 3.1, that went fine as I have done it many times before. But then when I tried to load the homepage again, it was blank – the so called “White Screen of Death”!
I fiddled around with a few things that people had suggested – turning off plugins, changing themes, but none of them worked. What I decided to do was to start from scratch and not use my old wp-config.php. Once I opened up the new version of wp-config-sample.php I realised that there were a lot of things my old file (probably from WP 1.x) didn’t have in it. So I changed my database password and then put in my settings. Once I had done this, everything worked fine!