Failing WordPress updates fixed by enabling FastCGI

For months, although it feels like years, I’ve been struggling with WordPress upgrades and it’s been driving me mad.  Each time I’ve attempted an in-app update of a plugin (or WordPress itself), it’s asked me for FTP credentials and then, usually, failed.  I’ve got used to re-installing WordPress but it shouldn’t be this way.

The problem, it seems was a combination of WordPress file ownership/permissions. I had to set the wp-content/upgrade folder permissions to 777 in order to successfully update plugins and that just didn’t feel right.  Luckily, I’m on good terms with my hosting provider and they started looking into the issue for me.  It seems (I think) that Apache was running as nobody and that was presenting some issues with WordPress. Changing the owner on my /blog folder (to nobody) fixed WordPress, but it meant I couldn’t FTP any content to the folder using my own username, so we went back to the drawing board.

I can’t claim to understand all the technical details but I’m told the fix was to enable FastCGI on the server.  It was originally disabled because it’s memory-hungry (spawning child processes for each user) but wow, FastCGI is a good name. Now my WordPress upgrades take seconds. I updated twice yesterday (to 3.1.4, then later to 3.2) and I was amazed how quickly things happened. That is good.