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

Three legacy projects compared by route, duration and what decided the approach
WooCommerce storeLoyalty-card systemCabinet manufacturer
RouteProgressive upgrade inside the running storeRe-platformRe-platform plus new front end
FromPHP 7.4PHP 5.6PHP 5.6, MySQL 5.0
ToCurrent PHP releaseLaravelLaravel 13, PHP 8.5, MySQL 8, Next.js
DurationWithin a three-year maintenance engagementTwo monthsAbout eight months
Did we know the code?No, we took the store overYes, our own earlier buildWe began with an audit of the code and schema
How it was checkedLive store, tested restores, monitoringEvery card, balance and rule keptData validated at each step; workflows checked against the old system in parallel
What it showsA maintained platform can be brought current step by stepKnowing the code shortens the work a great dealA 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

Signs that favour an upgrade or a rebuild
Points to upgradePoints to re-platform or rebuild
The framework or platform still has a supported versionNo framework, or one that has ended with no route forward
The business rules are right, and staff trust the resultsStaff keep spreadsheets to work around the system
Tests exist, or can be added around the key flowsLogic is mixed into pages and can’t be tested in isolation
You can hire people who know the stackNobody will take the work on, or only at a premium
The problems are about versions and securityThe 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

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

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).