[MORSALIN]
Service 13.2Updated September 2026

End-of-Life Upgrades: PHP, Node.js, Python, MySQL and Ubuntu

I move your app off an end-of-life PHP, Node.js, Python, MySQL or Ubuntu version, before or after the deadline. Server upgrades are done by building a fresh server and moving to it, never in place. For small teams and agencies. From $390 ($300 founding) for one runtime; typically 1–3 weeks. Email your versions to start.

See a sample report, proposal and weekly update
Price
from $390
Founding
from $300
Timeline
~1 week
Format
Fixed scope, fixed price
Hours
US Eastern Time, async

Deadlines that apply

  • PHP 8.1Ended Dec 31, 2025
  • Node.js 20Ended Apr 30, 2026
  • MySQL 8.0Ended Apr 30, 2026Upgrade path: 8.4 LTS
  • Python 3.10Ends Oct 31, 2026
  • PostgreSQL 14Ends Nov 12, 2026
  • PHP 8.2Ends Dec 31, 2026
  • Node.js 22Ends Apr 30, 2027
  • Ubuntu 22.04Ends Jun 1, 2027End of standard support; ESM after
  • Python 3.11Ends Oct 31, 2027
All end-of-life dates, with sources
01Fit

Who this is for.

A good fit if

  • SaaS teams whose app still runs on an end-of-life or soon-to-end version
  • Agencies with several client servers on old Ubuntu or PHP
  • Founders who got a host notice, a scanner warning or a questionnaire question

Common triggers

  • A deadline: Node.js 20 and MySQL 8.0 ended 30 Apr 2026, Python 3.10 ends 31 Oct 2026, PHP 8.2 ends 31 Dec 2026, Ubuntu 22.04 standard support ends May 2027
  • A security scanner flagging an unsupported version
  • A new package that needs a newer runtime
  • The host dropping an old version

Not a fit if

  • You need the upgrade done in place on a live server with no new server (I don’t do in-place OS upgrades)
  • The app needs a framework upgrade too and hasn’t been assessed (combine with Laravel Upgrade or a Codebase Assessment)
  • You want a paid extended-support subscription instead of upgrading (that’s a vendor product)
02Scope

What I do, and what you get.

What I do

  • Check which versions you run and what depends on them
  • Test the app on the new runtime and fix incompatibilities in your code and dependencies
  • For OS upgrades, build a new server on a supported Ubuntu, move the app and data, switch over, and keep the old server for rollback
  • For MySQL, upgrade 8.0 → 8.4 LTS on a new server or a tested copy, with checks before and after
  • Update Docker images, CI and deploy scripts to the new versions
  • Deploy in an agreed window with a written rollback plan

What you get

  • Compatibility report: what changed and what I fixed
  • Code and dependency changes as a pull request
  • Upgraded runtime on staging and production (or a new server)
  • Updated Dockerfiles, CI config and deploy scripts
  • Rollback plan and the next end-of-life date for each runtime
  • Handover notes

Your part

  • Access to repo, servers or cloud account
  • Someone to test key flows on staging
  • Approval of any new server costs, and a maintenance window
  • DNS access if the server address changes

Included

  • PHP, Node.js, Python or MySQL version upgrade
  • Ubuntu upgrade by rebuild and migrate
  • Code and dependency fixes for the new version
  • Docker, CI and deploy updates
  • One cutover with rollback plan

Not included

  • In-place OS upgrades (do-release-upgrade)
  • Mail server migration
  • Framework major upgrades (see Laravel Upgrade)
  • Paid extended-support subscriptions
  • Hosting costs
03Plans & price

Fixed prices, agreed before work starts.

Starter
$390
Founding price $300
~1 week

One runtime (for example PHP 8.2 → 8.4) on one app

Standard
$780
Founding price $600
1–2 weeks

One runtime plus an OS rebuild, or two runtimes

Plus
$1,300
Founding price $1,000
2–4 weeks

Several runtimes (for example Ubuntu + PHP + MySQL) moved to a new server

Build your scope

1 · Plan
2 · After handover (optional)
Your scope
$390
Timeline
~1 week
Payment
Paid in full before work starts
Earliest start
Oct 5
Not a commitment. I confirm the exact price in a written proposal.

Founding price: 3 of 7 spots left, until Mar 31, 2027 — one-off work, in return for a testimonial. How it works

Prices are in USD, paid by bank transfer against an invoice. Work under $1,000 is paid upfront; larger work is 50% to start and 50% before handover, or monthly milestones. How working together works

Variations

PHP
Moves to 8.4 or 8.5 (8.3 buys only one more year); if Laravel is involved, pair it with Laravel Upgrade.
PHP 8.2 before 31 Dec 2026
The Starter plan covers PHP 8.2 → 8.4 on one app at a fixed price, with a staging test and a deploy you can roll back.
Node.js
20 → 22 or 24 LTS for build tools, Nuxt/Vue builds or Node services.
Python
3.9/3.10 → 3.12 or 3.13 for FastAPI, Flask or Django apps and workers.
MySQL/MariaDB
8.0 → 8.4 LTS, or MariaDB to a supported LTS, tested on a copy first.
Ubuntu
20.04/22.04 → 24.04 LTS on a fresh server.
04Process

How it runs.

  1. 01

    Send your versions

    Email your versions and hosting.

  2. 02

    Quote and date

    I send a fixed quote and a date, then an invoice.

  3. 03

    Test and fix

    I test on the new versions and fix what breaks.

  4. 04

    You test staging

    You test on staging and we pick a window.

  5. 05

    Cut over and hand over

    We cut over, keep a rollback period, and I hand over.

05Proof

Where I have done this before.

06FAQ

Questions buyers ask.

Which versions are end of life?

As of 25 Sep 2026: Node.js 20 and MySQL 8.0 ended 30 Apr 2026, and Ubuntu 20.04 standard support ended May 2025. Python 3.10 ends 31 Oct 2026, PHP 8.2 on 31 Dec 2026, Node.js 22 on 30 Apr 2027 and Ubuntu 22.04 standard support in May 2027. Sources: php.net, endoflife.date, ubuntu.com.

What happens if I stay on an end-of-life version?

It keeps running, but security fixes stop. Scanners flag it and some hosts and packages drop it.

Why not upgrade Ubuntu in place?

A fresh server is tested before any traffic moves, and the old one stays as a rollback. In-place upgrades can fail halfway with no clean way back.

Will there be downtime?

For runtime upgrades, usually just a deploy. For a server move or database upgrade, a short planned window; I tell you the length after rehearsal.

Which version should I move to?

The newest one your framework and packages support, so you get the longest runway. The report says why.

Can you do several servers?

Yes, priced per server after the first.

07Start

Ask about End-of-Life Runtime Upgrade.

Tell me what you have and where it hurts. I reply within one US business day with either a fixed quote or the entry step that makes a fixed quote possible.

Helpful to include

  • Runtimes and versions (php -v, node -v, python3 --version, mysql --version, lsb_release -a)
  • Framework and version
  • Hosting (server, Docker, platform)
  • Number of servers
  • Database size
  • Deadline and reason
Reply within one US business day. No calls needed.

Prefer your own email app? Write to [email protected]. Your details stay with me, never on a list. An AI model drafts a private summary of your message for me.

More in Application Modernization