Optimum Web
APPLICATION SERVICES · PHP

PHP Version Upgrade & Migration — Off End-of-Life PHP, Without Breaking Production

PHP 8.1 stopped getting security fixes on 31 December 2025 and PHP 8.2 follows on 31 December 2026. When a critical bug like PHP2Shell lands, supported branches get a release the same day — end-of-life branches wait for someone's backport, or never get one. We move your application to a supported PHP version with a fixed-price audit, a staged rollout and a rollback plan.

PHP 8.1 and older get no security releases. PHP 8.2 reaches end of life on 31 December 2026.

Quick Answer

Optimum Web upgrades PHP applications from 5.x, 7.x, 8.0 and 8.1 to supported versions (8.3, 8.4 or 8.5). We start with a fixed-price readiness audit (€390 / $429, 3 business days) that scans your code, dependencies and extensions and returns a fixed price for the upgrade. Typical prices: WordPress or WooCommerce sites from €690, framework applications (Laravel, Symfony, Yii) from €2,400, legacy custom code quoted after the audit. Every upgrade runs on staging first, ships with a rollback path and a 14-day warranty.

PHP support timeline

Security-support end dates per php.net/supported-versions, status as of 25 October 2026. Highlighted: the branch most sites are still on.

VersionSecurity support endsStatus on 25 Oct 2026
5.6, 7.0–7.3Ended 2018–2021End of life
7.428 Nov 2022End of life
8.026 Nov 2023End of life
8.131 Dec 2025End of life
8.231 Dec 2026Ends in about two months
8.331 Dec 2027Security fixes only
8.431 Dec 2028Supported — our default target
8.531 Dec 2029Supported — target when your framework supports it
WHY UPGRADES BREAK

Why upgrades break (and why it's not a one-line change)

Stricter types

Since PHP 8.0 many internal functions throw TypeError instead of warning. Since 8.1, passing null to non-nullable internal parameters is deprecated — legacy code does this everywhere (strlen(null), trim(null)).

Changed comparisons

PHP 8.0 changed string-to-number comparisons (0 == "abc" is now false). Login checks, filters and imports built on loose comparison change behaviour silently.

Removed functions and extensions

create_function(), each(), money_format(), the old mysql_* API and mcrypt are gone. Code that "worked for years" fails at runtime only on the path that calls them.

Dynamic properties

Deprecated in 8.2 — floods logs in older frameworks and plugins and becomes a hard error later.

Dependencies

Your framework, Composer packages and WordPress plugins each have their own minimum and maximum PHP versions. One abandoned package can block the whole upgrade.

The server side

New FPM pools, different php.ini defaults, new extension builds, OPcache and session settings — plus cron jobs and CLI scripts that run on a different PHP than the website.

HOW WE UPGRADE

Six steps from audit to aftercare

01

Readiness audit (3 business days)

Static analysis with PHPCompatibility and PHPStan, Rector dry-run, Composer constraint check (composer why-not php 8.4), plugin/theme compatibility for WordPress, extension inventory, cron/CLI inventory. Output: list of required changes, risk rating, fixed price and timeline.

02

Staging environment

Copy of production on the target PHP version, side by side with the current one.

03

Automated + manual fixes

Rector for mechanical changes, engineers for logic changes (comparisons, null handling, removed functions). Every change in a reviewable pull request.

04

Testing

Your existing tests plus smoke and regression checks on critical flows (login, checkout, forms, imports, admin). Where there are no tests, we write characterisation tests for the critical paths first.

05

Cutover with rollback

New PHP-FPM pool runs alongside the old one; switch traffic, watch error logs, switch back in seconds if needed.

06

Aftercare

14-day warranty, deprecation log review, and an optional maintenance plan to keep minor versions current.

FIXED PRICE · EUR

Pricing

Upgrade Readiness Audit

€390 / $429

Scope
Any PHP application; report + fixed upgrade price. Credited against the upgrade if you proceed within 30 days.
Timeline
3 business days

WordPress / WooCommerce

from €690 / $749

Scope
Up to 30 plugins, one theme, one site. Plugin replacements quoted separately.
Timeline
3–5 business days
Get a quote

Framework application

from €2,400 / $2,590

Scope
Laravel, Symfony, Yii, CodeIgniter, CakePHP; up to ~50,000 lines of application code.
Timeline
2–4 weeks
Get a quote

Legacy / custom PHP

after audit; typically €4,000–12,000

Scope
No framework, PHP 5.x/7.x, few or no tests, possibly framework upgrade too.
Timeline
4–10 weeks
Get a quote

Typical effort by codebase

Estimates from comparable upgrades; your audit gives a fixed number.

Starting pointTargetTypical effort
WordPress, 15–30 maintained plugins, PHP 7.48.3 / 8.41–3 days
WooCommerce with custom theme and 2–3 custom plugins, PHP 8.08.43–6 days
Laravel 8 on PHP 8.0 (framework upgrade to Laravel 11/12 needed)8.3 / 8.42–4 weeks
Symfony 4.4 / 5.4 application8.42–5 weeks
Custom PHP 5.6/7.0 code, ~30k lines, mysql_* calls, no tests8.3 / 8.46–10 weeks
Magento 2.4.x on PHP 8.18.3 (per Adobe's matrix for your 2.4 release)2–6 weeks

Typical scenarios

Illustrative scenarios built from the stacks we maintain. Not client case studies.

Membership site on PHP 7.4, 22 plugins

Audit finds 3 abandoned plugins and one theme function using create_function(). Two plugins replaced, one patched, theme fixed.

Estimate: audit + €690 package + ~€300 plugin replacement work.

B2B portal on Symfony 4.4 / PHP 8.0

Upgrade path Symfony 4.4 → 5.4 → 6.4 with PHP 8.3. Rector handles most deprecations; the remaining work is in custom form types and Doctrine mappings.

Estimate: 3–4 weeks.

In-house CRM on custom PHP 7.1

mysql_* → PDO, mcrypt → OpenSSL with data re-encryption plan, loose comparisons in permission checks fixed and covered by tests.

Estimate: 6–8 weeks, phased so the CRM stays in use.

Results You Can Expect

Since 1999

We have run PHP in production for 27 years — Symfony, Laravel, WordPress and custom code.

−60% load time

Page load time cut on a Symfony news portal with 50,000+ daily visitors — see the case study below.

3× traffic spikes

Handled on the same portal without downtime after the rebuild.

TECHNOLOGIES

Technologies & Tools

PHP 8.4PHP 8.5RectorPHPStanPHPCompatibilityComposerLaravelSymfonyWordPressMagentoPHP-FPMDocker
FAQ

Frequently Asked Questions

Usually 8.4: supported until the end of 2028 and widely supported by frameworks and plugins. 8.5 if your stack supports it. We do not recommend 8.2 as a target — it reaches end of life on 31 December 2026.

Yes for PHP itself; the audit covers all intermediate changes. Frameworks sometimes need stepwise upgrades.

Normally a few seconds at cutover, or none. The old PHP stays installed until you sign off.

The backport fixes one bug. The next critical PHP vulnerability will again ship as releases for supported branches first, and EOL branches may not get one at all.

Yes, it is often required and included in the quote after the audit.

We write characterisation tests for the critical flows before changing anything, so we can prove behaviour did not change.

Yes, via maintenance plans or dedicated engineers.

Find out exactly what your upgrade costsin 3 business days.

Whether you need a dedicated team, a single specialist, or a complete digital transformation — we're here to help.

Or email us directly: info@optimum-web.com