We maintain an application for a financial institution in Germany. We weren't the original developers, it was built by some other agency. We were brought in to manage it.
It's a nightmare to update it to the latest PHP, since the script has a ton of moving parts. We first broke it down and made most of it modular, we then changed the way APIs interacted with each other. And finally, we began the painstaking process of bringing it to the latest version of PHP where needed and introducing a varied stack of other languages/tech where needed.
Now, PHP 7.x has a lot of functions that were removed and a lot of incompatibilities with the release of PHP 8.0 - you can check the
full list here. From reserved keywords to error handling, a lot has changed.
In order to mitigate this, while we updated the code, we resorted to using
CloudLinux - it is an OS for hosting providers that has a product offering known as
HardenedPHP - what they do is basically provide access to old versions of PHP, but they actively keep monitoring any vulnerabilities or bugs and keep patching them. It is seamless, and you as a user won't know the difference. If your developers are charging you a lot or if you'd rather wait till you update, you can consider opting for a hosting provider that offers CloudLinux. With HardenedPHP - you'll not be forcefully updated.
Basically, the point of concern is that with this update, the PHP Team has basically
broken backward compatibilities. Compatibility is broken only when functions or features that were previously bundled in the language are either removed or renamed or a newer, more optimized ways of running them are introduced.
There's no question that PHP 8.x is more secure, more optimized and does everything PHP - only better. So if you can update, then do it.