This server runs Debian’s Testing release. Yes, Testing changes a lot and is not meant for long-term production servers. But I like to be a little more up-to-date on the software packages, and there are times when Debian Stable is too far out of date for what I need or want to run on this server. I do use it as a shell server too. And yes, I know bastion hosts, one “process” per server. That assumes one has a budget for multiple servers.
Anyway, I updated the server, and it pulled PHP 8.1. Previously I was running PHP7.4. Well, something interesting happened during the upgrade. I rebooted the server to get the new kernel loaded, and when everything came back up, I had the “White Page of Death” on the WordPress page. This is a self-hosted server, no CPanel, phpAdmin, or anything like that. If I have to fix a problem, it’s the command line and me.
So I started digging over what got removed and installed. For some reason, libapache2-mod-php8.1 didn’t get installed, while libapache2-mod-php7.4 was removed. So I installed the package, hoping that would fix the problem, and it did, but not really. Instead of the “White Screen of Death,” I now had an error message saying there was a critical error with a link that didn’t really help.
So off to Google. The first site I found said to turn on debugging to get errors and gave the three commands to add to the wp-config file. Those steps should have created a file under wp-content called debug.log, but it didn’t. After multiple tries, I said, ok, time to debug the site live. In retrospect, I probably should have changed the firewall to limit site access to just my IP at the time.
Reading live found that the problem was one of my favorite plugins that appears abandoned; there have been no updates in six years. I never saw any comments from the author on why he stopped maintaining it, but he did. His GitHub page shows he’s working on other things. There are also a lot of “complaint comments” on the repo for the old plugin.
Anyway, I digress. What I did to fix the problem, after a lot of Googling, was to change to the wp-content/plugin directory and rename the plugin folder to its name _old. Once I did that, the site started working again. The old entries with the syntax highlighted code blocks looked bad, but I had a working site.
I’ve looked at several syntax highlighters since then. There is a plugin that claims to be a fork and updated version of the one I used to use. Unlike the other two I tested, the best part is that this one sees the old code block content, and it looks like the old posts.
Updating to PHP8.1 took about 2 hours of my night away, but I have a working site again and replaced the abandoned syntax highlighter—Yay for updates.