Happy Holidays to everyone!
I would like to know if there are many fixes to be done in the code for SMF 1.1.21 to work on PHP 8x. Or at least on PHP 7.4.
Please do not suggest upgrading to SMF 2.0.x or SMF 2.1.
As I understand it, all database calls need to be rewritten.
I have to ask, why the hate on 2.x?
The easiest way to go would probably be to go for 2.0 and then work on that to bring back what ever you think was lost in the transition. Not the other way around.
So here's the reality.
You would need to batch up and apply basically every patch from 2.0.4 through to 2.0.19, PLUS a whole bunch more that aren't documented to fix the database (including in every single mod you have)
And doing that *might* possibly get you to 7.4 without it being either 1) a security nightmare and 2) falling over with errors every few seconds.
And then you're still going to have to pay someone every year to get it through to 8.0, then 8.1, then 8.2 because these things will keep on coming.
And that still doesn't fix the 2 or 3 known security holes in 1.1.x that will not receive an official fix.
And you will have to be the one to foot the bill for all this. I reckon it would take me a month full time to make 1.1.x work on PHP 7.4 - and I'm someone who's been using SMF since 2006 and I've been part of the development team. A month full time would be a five figure sum to fix - just to get it to 7.4, not even beyond that.
Upgrading to 2.0 alone would cut a lot of that cost, because porting mods forward to 2.0 by someone who is experienced is actually less difficult than it sounds, plus the 1.1 default theme does have a 2.0 version. Honestly, it would be cheaper for you to pay someone to upgrade your custom code to 2.x and make it look and feel like 1.1 than it would to drag 1.1 forwards.
Consider this: 1.1 was *finished* in 2006. PHP 5 was in use on virtually no hosts even though 5.2 was the current version, so there's a whole raft of stuff designed for PHP 4 there, which will not play nicely and was slowly reworked over time in 2.0 (which was finished in 2011 in a much more PHP 5+ world) and with the patches since (some of which I literally wrote) to be nicer.
I mean, if you wanted to burn best part of $20k to get it upgraded I'd probably find the time for it, but why do that when you could pay so much less money to get it upgraded to a version that works better, runs better, and is actually supported by its development team?
IN other words.... NO.
There is no realistic way to make 1.1.x compatible with php 8 and all the security updates that 2.0.x and 2.1 have received.
You are using a software version that went END OF LIFE years ago.
So, sorry if you don't want to hear it... but the ONLY realistic answer is UPDATE to 2.0.19 or 2.1