No, the site wasn’t hacked. Stop asking. I’ve been using an old version of WordPress (1.6 IIRC) to manage content, and it looks as if it finally gave up the ghost.
To be honest, I hadn’t even moved up to 2.0 a year back. I’d stuck with the older version because the bulk of formatting and scripts for this site are handmade, and I was worried that upgrading would make a mess of things.
Two days ago, I was forced to do so. For some reason, my site disappeared, and all requests resulted in the browser prompting the user to download a .phtml file. It appeared that Apache was having a problem serving .php files. I checked, and the handlers were all set up correctly. Still, I couldn’t browse any folder with an index.php file, so the problem had to be with PHP itself.
I went ahead and upgraded to PHP5, but that didn’t help. At this point, I couldn’t even log in to administer the site, since the /wp-admin/ directory wouldn’t let me in.
Oh, and my last backup was several weeks ago. Lovely. I was able to access PHPMyAdmin to do a manual backup, but even after restoring the database, I got the same thing. Crap.
The only possible culprit could have been WordPress itself. I cringed and ground my teeth, and I installed the upgrade. I don’t know if v1.6 was time-bombed, or if something just got corrupted along the way, but after about 40 minutes, my site was back up.
Since I had to do this in a hurry, I wasn’t able to take any precautions. Still, it went smoothly for the most part. The main issue for most users seems to be depredation of older plugins, but I only use a couple (Random Quote and Browser Sniff), and I experienced no problems. My scripts appear to be humming along just fine (whew).
The other hurdle for many users was incompatibility with older themes and the new version. I had absolutely no problem with this, so amateur coders of the world take note: standards-compliant CSS will save your butt every time. It’s also worth noting that version 2.3 reinstalled the “Default” WordPress themes, which are just dreadful.
Then I noticed something really annoying. The default 2.3 installation doesn’t recognize Unicode. I dug around, and it turns out the default locale is set to English/Swedish. Apparently, you have to do a full manual install and tell it what character sets to recognize.
I wish I’d known that before I’d used Fantastico for the install. Until I find a way of fixing it, I’m stuck with foreign characters being rendered as “??? ????”
Other than that, there’s an upgraded post editor that merges raw .html editing with the rich-text interface, as well as support for tags, ala slashdot. The admin screen also lets you know when a given plugin has an upgrade available.
Little of this affects me directly, since I use Drivel to do my posting, and everything else is pretty much done by hand. I guess some of it is important for folks who live and breathe WordPress, but I just use the software as a framework, so I don’t get all gunched up every time an upgrade comes along.
Hopefully, this one’ll work for a couple of years longer.
One last note: an upgrade does overwrite configuration files, so check your index and template files. One example is the “more” tag. I’d rather it display the whole page instead of just the text below the tag, and this requires a bit of editing.
The relevant bit is now in /wp-includes/template-functions-post.php.
Find this:
"#more-$id\">$more_link_text";
and change to read:
"\">$more_link_text";
to make it stick.