Latest nightmare
So here's my latest nightmare on Moodle.
1. It requires multiple upgrade steps to upgrade ONE instance.
2. My end-users have never upgraded and are still on 3.8.4. I have about 30 instances, or thereabouts.
3. I was forced to upgrade my server OS which upgraded PHP to version 8.
4. This broke Moodle 3.8.4 because apparently it is unacceptable to not have a questionmark before declaring a nullable return variable?!?! I mean really. This: (or something like it) is apparently NO! BAD!
myfunction(type varname = null)
apparently we have to now
myfunction(?type varname = null)
OK. right. Because who cares.
Anyway point is there are about 10 000 of these in Moodle. Plus it also doesn't like the [\#Something] syntax. You have to delete about 2000 of those and pray it works.
The alternative, in my case, is manually upgrade each instance, like 3.8.4 -> 3.8.5, 3.8.5->3.8.6 that kind of thing, all the way to 4.0.3. Because the databases differ as well. It's not just a replacement of php files. So as you know, each upgrade step breaks and never works out the box, plus it's like at least 4 steps to get to the latest version.
So i am presently trying to just fix the code so that 384 runs under php8.
I hate moodle. When I have energy I will write something better.