A removed function stops the page, so you find it straight away. A comparison that now gives a different answer can sit in a pricing or permissions check for weeks before anybody notices.
Guide
Upgrading PHP 5 or 7 to PHP 8: what breaks and what it takes
Most old sites need changes, not a rewrite. PHP 8 removed some old functions and got much stricter about sloppy code, so things that used to fail quietly now stop the page. Here's what we meet again and again.

You'll be talking to one of us, not a salesperson.
What actually breaks
count()Counting something that isn't a list used to give you 0 or 1. Now it stops the page with an error.
each()Removed. Old loops written with it just stop working.
create_function()Removed. Common in older plugins and add-ons.
mysql_*The original database functions, gone since PHP 7. Very old sites still use them.
split(),ereg()Old pattern functions, also gone since PHP 7.
"abc" == 0Comparisons between text and numbers changed, so some
ifchecks now quietly give a different answer.nullinto built-insPassing an empty value where text is expected now raises warnings that fill your logs.
Made-up properties
Setting properties a class never declared is deprecated, and older frameworks do it everywhere.
The quiet ones are the worry.
How a sensible upgrade goes
Copy it
The site and a copy of the data, somewhere running the new PHP. Never upgrade the live one in place.
Let it complain
Turn the error log right up and click through everything. The log is your to-do list.
Fix the code, not the symptoms
Where an old function was used in dozens of places, a small compatibility layer can stand in while the real fixes go in.
Test what makes money
Checkouts, quotes, invoices, logins, anything with a calculation. That's where the quiet changes hide.
Switch over
With the old version ready to switch back to.
Small job or big one?
It's small if the site is mostly a well-known CMS or framework with a supported version and not much custom code. It gets bigger with every version you've skipped, every abandoned plugin and every bit of custom code nobody wrote down. A framework that's stopped moving, like CodeIgniter 3, adds its own list.
AI has made the mechanical part of this much quicker, and it's very good at finding every use of a removed function. It's less good at spotting the comparison that changes a price. The only honest way to find out how big yours is, is to look. We'll read it and tell you what will break.
We've moved plenty of these ourselves, some of them in a single night.
Why it matters
Old PHP doesn't get security fixes. PHP2Shell showed that in October 2026: read why the update couldn't wait, how to check your logs, and how we moved a whole estate overnight.


Tell us what you've got
It goes straight to Rob and Jase. You'll hear back from one of us, usually the same day, and we'll tell you honestly whether we're the right people.