Critical PHP vulnerabilities · 21 October 2026 · no fix below PHP 8.2

Two critical PHP exploits. No patch for anything below 8.2.

If your application runs on PHP 7.3, 7.4, 8.0 or 8.1, the fixes released on 21 October do not reach it. We move legacy PHP, Laravel, CodeIgniter and CakePHP applications to a supported version at a fixed price, with tests that prove nothing else changed.

Patching is not an option on an unsupported version. Upgrading is.

About four in ten PHP sites run a version that no longer gets fixes. On 21 October that stopped being an abstract risk: two critical remote code execution bugs were patched for PHP 8.2 and newer only. Anything older has, at best, a source patch that almost no hosting setup can apply. The developers who wrote these apps have moved on, and a modern agency would rather quote a rebuild at ten times the price. We do the unglamorous thing instead: take the application you have, carry it forward release by release, and prove at every step that it still does what it did.

Fixed price

You get a number before any work starts, and it does not change unless you change the scope.

Same behaviour, proven

Before we change a line, we write tests that pin how your app behaves today. They stay green on the new runtime.

Documented handover

Every stage ships as a reviewed pull request with a written spec. Your next developer inherits a codebase that explains itself.

Pricing

Start with the exposure check if you are on PHP 8.1 or older right now. Otherwise start with the assessment. Both are credited against a migration.

Start here

Assessment

from $1,500 one week

We read your codebase and run the analysis tools, then you get a report: versions, abandoned packages, what breaks on the target, risks, bugs we found on the way, a staged plan, and a fixed quote.

  • Credited against the migration if you order within 30 days
  • Nothing changes in your code
  • Useful even if you hire someone else
Full move

Framework migration

from $15,000 fixed, quoted after assessment

Laravel 5 to 11, CodeIgniter 3, CakePHP 2, Zend 1 or raw PHP to current Laravel. Module by module behind a safety net, with the old app running until the final cutover.

  • Abandoned packages replaced
  • Payments, PDFs and email verified end to end
  • Docker image or deployment runbook

Keep-current retainer, from $500 a month. After the migration we keep you on supported versions: framework and PHP updates within 60 days of release, dependency audits, security patches, and the test suite maintained.

How it works

  1. Twenty-minute call

    You tell us what the app does and what is forcing the move. We tell you whether we can help and what the assessment covers.

  2. Assessment

    Read-only access to the repository. One week later you get the report and a fixed quote, delivered on a second call.

  3. Staged migration

    Safety net first, then one stage per framework release. Each stage is a pull request with the tests green. Production stays on the old runtime.

  4. Cutover and watch

    Staging with a copy of your data, a runbook, go-live, and thirty days of fixes. Then the retainer, if you want it.

A migration we finished, start to end

Before quoting this work to anyone, we did it on our own application: a Laravel 7 and PHP 7.2 CRM back end, moved to Laravel 13 and PHP 8.4 using exactly the process above. Our own assessment had sized it at eight working days.

Sample reports

These are real assessments, one on a small private CRM back end and one on a public open-source ticketing platform. Read them to see exactly what you would receive.

Who this is for

A good fit

  • A business application, portal, API or SaaS on PHP 5.6 to 8.1
  • Laravel 5 to 11, CodeIgniter 3, CakePHP 2, Zend 1, Symfony 3 to 5, or framework-free PHP
  • The original developers are gone and the app still earns its keep
  • You want it kept running, not rebuilt

Not a fit

  • WordPress sites, where the plugin ecosystem is the real problem
  • Rewrites in another language
  • New feature development during the migration
  • Anything you cannot give us repository access to

Questions

Can we not just patch PHP instead of upgrading?

If you are on PHP 8.2 or newer, yes: update to the point release and you are done. Below 8.2 there is no package to install. PHP published source patches for 7.4, 8.0 and 8.1, which means compiling PHP yourself on every server, and nothing at all for 7.3 and older. Most hosts will not do that for you. The exposure check applies what can be applied as a stopgap, but the only durable fix is a supported version, and that is the migration.

Will my app break?

That is the whole point of the method. Before any change we write tests that capture how the app behaves today, including its quirks, and run them on your current PHP version in a container. Every stage must keep them green. Where there is a real behaviour change, such as a date format in a JSON response, it is listed in the report and you decide.

Do you use AI tools?

Yes, and we would be suspicious of anyone who said no in 2026. Mechanical rewrites run through Rector, a rule-based tool. The judgement work, untangling a two-thousand-line controller or replacing a dead package, is done with an AI coding agent working under a written spec, and a senior engineer reviews every change. The tests, not the tools, are the guarantee. That is also why the price is lower than a traditional agency's.

What about my hosting?

The assessment checks whether your host offers the target PHP version. If it does not, the plan includes a Docker image or a move to a host that does. Hosting migration itself is quoted separately.

Can you do it without touching production?

Yes. Everything happens on branches and a staging copy. Production stays on the old runtime until the cutover stage, which you schedule.

What if the assessment shows a rewrite is the better option?

Then the report says so, with reasons, and you keep the assessment. It happens, usually when the data model no longer matches the business. You are not obliged to order anything after it.

How do you handle our data?

We work from the repository, not production data, and scrub credentials and fixtures before any analysis. If a staging copy of the database is needed for cutover, it stays on your infrastructure. A short data-handling clause is part of the agreement.

Fifteen years of PHP. One accountable engineer.

keepPhpUp is a specialist practice with fifteen years of building and maintaining PHP and Laravel applications in production. Every engagement has a single senior engineer accountable for it from assessment to cutover, not a rotating team you never meet.

We work to a spec-driven method: each unit of work has a written specification, a verification checklist and a test. That is what makes a fixed price possible, and it is why the handover explains itself.

We are deliberately narrow. We do not build new products or redesign interfaces. We keep working software working.

Founded by Mel Valencia.

Tell us your PHP version. We will tell you where you stand.

One email with the PHP version, the framework, and roughly how big the application is. If you are exposed, you will hear back the same day with what the exposure check covers. If you are not, we will say so.