Legacy PHP
Rewrite or upgrade a legacy PHP system?
Short answer: upgrade if the system’s rules are right and its code can be changed safely; rebuild only what can’t be. We have delivered both, so here are three real projects and what decided each.
By itmarkerz Technologies. Updated 30 October 2026.
Say what you mean by rewrite
The word covers two different projects, and the difference decides the risk. A re-platform rebuilds the same system on new foundations: the screens may change, but the rules, the data and the outcomes must match the old one. A redesign also changes how the business works. A re-platform has an answer key, because you can compare against the old system. A redesign doesn’t, and that makes it a different kind of project to manage.
An upgrade keeps the code and changes what it runs on. Many systems need some mix of these, part by part.
Three projects, side by side
| WooCommerce store | Loyalty-card system | Cabinet manufacturer | |
|---|---|---|---|
| Route | Progressive upgrade inside the running store | Re-platform | Re-platform plus new front end |
| From | PHP 7.4 | PHP 5.6 | PHP 5.6, MySQL 5.0 |
| To | Current PHP release | Laravel | Laravel 13, PHP 8.5, MySQL 8, Next.js |
| Duration | Within a three-year maintenance engagement | Two months | About eight months |
| Did we know the code? | No, we took the store over | Yes, our own earlier build | We began with an audit of the code and schema |
| How it was checked | Live store, tested restores, monitoring | Every card, balance and rule kept | Data validated at each step; workflows checked against the old system in parallel |
| What it shows | A maintained platform can be brought current step by step | Knowing the code shortens the work a great deal | A large jump can be verified, if you plan for that |
Details are on the case studies for the store, the loyalty system and the cabinet manufacturer. Most of our work is delivered under NDA, so many projects cannot be named.
What the comparison tells us
The two-month project isn’t evidence that re-platforms are quick. We wrote the original, so we didn’t have to learn what it did. Don’t plan another team’s work on that number.
The eight-month project wasn’t a redesign. Every workflow the engineering team relied on was preserved and compared with the old system. The scope also took in an audit of the old code and schema, a database migration validated at each step, and a replaced front end.
The store didn’t need a rewrite in one go. WooCommerce itself is maintained, so we brought PHP, plugins and theme up to date progressively inside the maintenance engagement, which suits a store that has to keep selling.
Signs that point each way
| Points to upgrade | Points to re-platform or rebuild |
|---|---|
| The framework or platform still has a supported version | No framework, or one that has ended with no route forward |
| The business rules are right, and staff trust the results | Staff keep spreadsheets to work around the system |
| Tests exist, or can be added around the key flows | Logic is mixed into pages and can’t be tested in isolation |
| You can hire people who know the stack | Nobody will take the work on, or only at a premium |
| The problems are about versions and security | The problems are about how the system is structured |
None of these decides the question alone. A system can also split: keep the data and core rules, and replace only the front end or the worst module.
What a rewrite must not skip
- Read the old system first. On an old system, the code is often the only accurate record of the business rules, including the odd ones that exist for a reason.
- Decide how you will compare. Choose the workflows and totals that will be checked against the old system before you start, not at the end.
- Plan the data as its own project. See the MySQL migration checklist.
- Keep the old system safe meanwhile. It stays live for the whole project, and it still needs backups and care. A long rebuild doesn’t pause the security exposure.
- Resist adding features during the move. Every change to a rule removes your ability to compare with the old system. Move first, improve afterwards.
Next step
See the four routes off PHP 5.6 for how this plays out at the oldest end, or the cost guide for what we charge. If you would like us to look at your system, our modernisation service starts with reading the code and giving you a written recommendation.
The re-platforming projects
Cabinet manufacturer's ordering, dealer-portal and inventory system moved from PHP 5.6 and MySQL 5.0 to Laravel 13 on PHP 8.5 and MySQL 8, with a new Next.js front end. Eight months, workflows preserved, now live.
- Sector
- Manufacturing
- Region
- Canada and US
- Stack
- Laravel 13, PHP 8.5, MySQL 8, Next.js
- Engagement
- Upgrade, about eight months, live
Loyalty-card management system we first built on PHP 5.6, re-platformed onto Laravel with all cards, balances and rules preserved. Two months, live since mid-2026, Indian client.
- Sector
- Retail & loyalty
- Region
- India
- Year
- 2026
- Stack
- Laravel
- Engagement
- Upgrade of our own earlier build, two months
Questions
Isn't a rewrite always riskier than an upgrade?
It has a larger scope, and the classic failure is losing rules nobody wrote down. An upgrade has its own risk: if the code has few tests, behaviour can change silently. The real question is which risk you can check for on your system.
Can we do it in parts?
Often, yes. Old and new can run side by side, moving one area at a time. That needs a clear boundary between areas, such as a shared database or an API, and old systems don't always have one. It is one of the first things we look at in an assessment.
Who should make this decision?
Someone who has read the code, together with someone who knows how the business uses the system. A recommendation from a person who has seen neither is an opinion. Ours comes after we have read the code and the schema.
More on legacy PHP
- PHP end-of-life dates and the upgrade path from 5.6 to 8.5Every branch date from php.net, and what breaks at each step.
- PHP 5.6 to PHP 8: what breaks, and four ways offThe failures you will meet first, and how to choose a route.
- MySQL 5 to 8 migration checklistThe supported path, the checks to run, and what to compare afterwards.
- What it costs to modernise a legacy PHP systemOur published price ladder for this work, and what moves a quote.
Get a second opinion on your rewrite plan
Tell us what the system does and what is pushing you to change it. We will tell you which way we would go.
We reply within one business day (IST).