February 24, 2025: Them's the Breaks
Last week the Wongery was finally (finally!) moved over to its "new" hosting plan. I made a blog post at the time in which I said that (to my astonishment) the migration seemed to have gone smoothly and everything appeared to be working. I did, however, add parenthetically (I add a lot of things parenthetically) that "I haven't tried using all the site's features yet, so it remains entirely possible that something is broken in a way that isn't immediately obvious."
Unsurprisingly, it turns out that something was indeed broken in a way that wasn't immediately obvious.
I had set aside some time yesterday to work on the Wongery. More specifically, I planned to work on—and hoped to finish—rewriting and expanding the old article on Plakhán, one of the onirarchies of the world of Dadauar. (Oddly, the first onirarchy I wrote an article about for some reason, despite its being quite atypical and not a place easy to set a story or an RPG campaign.) But wanting to glance at the map, I tried to go to the Wongery article on Dadauar... and that's when things hit a snag.
Instead of the article that I'd hoped to see, I was confronted with an error message.
Error: Call to undefined function MediaWiki\Extension\Scribunto\Engines\LuaStandalone\shell_exec()
Okay. So there was something going wrong with the Scribunto extension, apparently? Now, this was a problem not just because of the broken article (though that would certainly be reason enough to prioritize fixing it) but also because the next update I'd been planning to do to the Wongery was to get the stat block templates working for the RPG space, which would require Scribunto.
(I say "I'd been planning", past perfect (continuous), because something came up yesterday morning that might be an even higher priority—I noticed that there was an issue with some of the what I call "in whiches", the short blurbs on the main blog page that describe what the blog posts are about. (This issue has apparently been going on for more than a month, but I just noticed it yesterday because, as I have previously mentioned, I am very stupid. I suppose it's possible that it wasn't going on for that long and is another consequence of something breaking during the migration, but I think for this particular issue that's unlikely.) In particular, "in whiches" with certain special characters don't display correctly—if there's a quotation mark in the "in which", that quotation mark and anything after it is not displayed, and an em dash is replaced by a black diamond shape with a question mark in it (which I just learned is called the replacement character, huh, okay). So... I think I'll try to fix this first. It should be a quick and easy fix, but I have no idea what I'm doing when it comes to programming and my incompetence should not be underestimated.
Anyway, it seemed odd that Scribunto was causing a problem for the Dadauar article specifically, because other articles had been loading just fine. I'd just before been looking at the article on Burcady (one of the continents of Dadauar), and it had exhibited no such issue. What was different about the article on Dadauar? Well, when I looked at the article's source, it didn't take me too long to figure out what was different. The crux was that—unlike the article on Burcady—the Dadauar article happened to use a template called Abbr, which in turn uses the String module, which... requires Scribunto.
Figuring out to resolve the issue, however, took me a little longer. After trying a web search that turned up nothing immediately helpful, I did what I probably should have done in the first place and went to the Scribunto page on the main MediaWiki wiki and looked over the requirements listed there for Scribunto to work. PHP needs to have the mbstring extension enabled. Check. (I would have had no idea how to check this on my own, but fortunately the page explained how to check this from the command line.) "PHP's proc_open
function is not restricted." Okay, a call to the PHP function confirmed that this was indeed the root of the problem. (Or at least a root of the problem; I guess it still would have remained possible that there were also other requirements unmet. Fortunately, as it turned out there weren't.) But it wasn't obvious (to me, with my very limited programming/system administration skills) to figure out how to fix this. I thought it would just be a matter of changing a line in the PHP configuration file, php.ini, but oddly this didn't seem to be the case; whatever it was that was restricting the proc_open
function, it wasn't that. Eventually, I did figure it out; my "new" VPS hosting plan required me to set up a separate subsidiary account for each domain hosted there, and it turns out those domain settings included the option to disable certain functions. I went into the settings for the wongery.com domain, removed proc_open
from the list of disabled functions, and the error was gone.
So... I did spend time working on the Wongery yesterday, but unfortunately rather than writing articles I spent that time mostly fixing issues. Still, it's something, I guess, and hopefully in the next day or two I'll finally get that rewritten Plakhán article written.
(And fix that issue with the "in whiches"...)