The verdict in three sentences
A business application on PHP 5, without security support since 2019, is no longer technical debt but an operational risk: the next server update can break it overnight. A progressive migration (strangler pattern), replacing old code module by module while the app keeps running, typically costs EUR 45,000 to 130,000 over 4 to 9 months. Done properly, it cuts maintenance costs by 30 to 50% and makes the tool extensible again.
Where things stand: the cost of an orphaned app
The CIO of an Amsterdam wholesale group (400 staff, 5 sites across North Holland and Utrecht) depends on an order and stock application written in PHP 5.4 twelve years ago. Its author left in 2021. No automated tests, no documentation, a Debian 8 server nobody dares touch.
| Symptom | Today | Estimated cost or risk |
|---|---|---|
| PHP version | 5.4, end of support 2015 | known unpatched vulnerabilities |
| Server OS | Debian 8, end of support 2020 | fails cyber insurance requirements |
| Lead time for a simple change | 3 to 6 weeks | EUR 2,500 to 6,000 per request |
| Blocking incidents per year | 6 to 10 | 1 to 2 days of partial downtime each |
| Maintenance supplier | time and materials, EUR 95 to 120 per hour | EUR 30,000 to 45,000 per year |
| Test coverage | 0% | every change is a gamble |
Full rewrite or progressive migration
A big-bang rewrite promises fresh code in one go, but it freezes changes for months and often fails on forgotten business rules. A progressive migration puts a router in front of the app: each new module (Laravel, modern Symfony or Node.js depending on in-house skills) takes over a function, then the old code is removed.
| Criterion | Big-bang rewrite | Progressive (strangler) |
|---|---|---|
| Typical budget | EUR 90,000 to 220,000 | EUR 45,000 to 130,000 |
| Duration | 8 to 14 months | 4 to 9 months |
| Value delivered | at the end | from the first module, around month 2 |
| Risk of missing business rules | high | low, compared against old system |
| Change freeze | near total | partial, current module only |
| Observed failure rate | high on projects over 12 months | markedly lower |
Detailed budget and the Dutch market
| Step | Amsterdam market range (2026 estimate) | Duration |
|---|---|---|
| Code, data and dependency audit | EUR 4,000 to 7,000 | 2 to 3 weeks |
| Characterisation tests on critical journeys | EUR 7,000 to 16,000 | 3 to 5 weeks |
| Router and new infrastructure | EUR 5,000 to 11,000 | 2 weeks |
| Module migration (4 to 8 modules) | EUR 27,000 to 90,000 | 3 to 7 months |
| Data migration and clean-up | EUR 2,000 to 6,000 | ongoing |
| Total | EUR 45,000 to 130,000 | 4 to 9 months |
Large Dutch IT service firms (the big system integrators and mid-size ESN-type suppliers) often bill EUR 110 to 150 per hour and favour longer programmes; specialised boutiques sit lower with tighter scopes. Automated tests should cover 60 to 80% of business journeys before any code moves: they prove the new version computes the same discounts and stock as the old one. At Kolonell, a migration like this is quoted after the audit; each rebuilt module falls on our application grid, medium EUR 6,100 to 10,670 or complex EUR 10,670 to 22,870+ per lot depending on size, with maintenance afterwards at EUR 53 to 183 per month.
Risks to watch
Data first: twelve years of history contain inconsistencies the old code tolerated. A nightly reconciliation script should compare both systems during coexistence. People second: key users must sign off each module or adoption stalls. Contracts third: split the work into lots with deliverables and acceptance criteria rather than a single fixed price.
Mini case study
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Pieter, CIO of the Amsterdam group, pays EUR 38,000 a year in time-and-materials maintenance, plus around 8 incidents a year costing EUR 3,500 each in lost activity, so EUR 66,000 a year. Progressive migration: EUR 95,000 over 7 months. Afterwards, maintenance drops to EUR 19,000 a year (−50%) and incidents to 2 a year, EUR 7,000. New annual cost: EUR 26,000. Saving: 66,000 − 26,000 = EUR 40,000 a year. Payback in under 2.5 years, before counting the changes the business can finally ship.
FAQ
How much does migrating a PHP 5 app cost in Amsterdam in 2026?
Between EUR 45,000 and 130,000 for a progressive migration, depending on module count and data quality. The initial audit, EUR 4,000 to 7,000, narrows the range.
Why not just upgrade PHP?
Jumping from PHP 5 to PHP 8 without refactoring often breaks 30 to 60% of the code (removed functions, stricter typing). On an untested codebase, the upgrade alone is as risky as a migration.
Does the app stay usable during the migration?
Yes, that is the point of the strangler pattern. Only the module being replaced goes through acceptance testing, usually 1 to 2 weeks.
Which stack should we choose?
Laravel or Symfony 7 if your team knows PHP; Node.js with TypeScript if you also want rich interfaces. The choice is made at audit based on the skills you can hire in the Netherlands.
What test coverage should we aim for?
60 to 80% of critical business journeys, not 100% of the code. That coverage takes 3 to 5 weeks to build before migration starts.
Let's scope your project. Describe your application, its modules and current pain points, and we will scope the audit, the lot breakdown and the migration calendar with you. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.