Guide

PHP 8.2 End of Life: What to Upgrade Before December 31, 2026

PHP 8.2 security support ends December 31, 2026. Support dates for 8.2 to 8.5, how to choose 8.3, 8.4 or 8.5, and a 10-step upgrade checklist.

Quick answer

PHP 8.2 reaches end of life after December 31, 2026: php.net lists that date as the end of security support for the 8.2 branch. As of October 28, 2026 the branch is still supported upstream, but only in its security-only phase. Ordinary bug fixes stopped at the end of 2024, and security releases continue: the most recent is PHP 8.2.35, released on October 21, 2026.

End of life describes the PHP project's release work, not the state of your server. Nothing on a PHP 8.2 site breaks or is compromised because the date passes; what changes is that a vulnerability found in 8.2 afterwards gets no fix from the PHP project. Assess first (what runs where, and what blocks a newer version), then pick a target, then upgrade.

PHP support timeline: 8.2 to 8.5

Dates from php.net's supported-versions page, checked on October 28, 2026:

BranchInitial releaseActive support untilSecurity support untilStatus on October 28, 2026
8.5November 20, 2025December 31, 2027December 31, 2029Active support
8.4November 21, 2024December 31, 2026December 31, 2028Active support; security fixes only from 2027
8.3November 23, 2023December 31, 2025December 31, 2027Security fixes only
8.2December 8, 2022December 31, 2024December 31, 2026Security fixes only; end of life after December 31, 2026

Each branch passes through three phases:

  • Active support. The branch receives regular point releases with bug fixes and security fixes.
  • Security-only support. Bugs that are not security issues are no longer fixed; security issues still get releases.
  • End of life. The PHP project publishes no further releases for the branch, whatever is found later.

Operating system vendors, Linux distributions and some managed hosts build their own PHP packages, and some of them keep backporting security fixes into a branch after upstream support ends. In October 2026, for example, php.net noted that Linux distributions and long-term support vendors received the patches in advance. Whether a vendor does this for 8.2, for how long and for which fixes is vendor-specific, so confirm it with yours in writing. It is not the same as upstream support: you depend on one vendor's packages, and your frameworks and libraries will still drop 8.2 on their own timetable.

8.2 vs 8.3 vs 8.4 vs 8.5: choosing a target

VersionUpstream support endsCompatibility considerationsWhen it may fit
Stay on 8.2December 31, 2026No change now; every dependency will eventually require a newer versionOnly as a short bridge with verified vendor patches and a dated plan to move
8.3Security fixes only, until December 31, 2027The smallest step from 8.2; supported by Laravel 10 through 13When a package, plugin or host is not ready for 8.4 yet, or when the change before December 31 has to be as small as possible. Expect another move within about a year.
8.4Active until December 31, 2026, then security fixes until December 31, 2028Two releases' worth of deprecations and incompatible changes to work through; supported by Laravel 11, 12 and 13Applications whose framework, extensions and packages already support it, and which want two years of security support after the move
8.5Active until December 31, 2027, security fixes until December 31, 2029The newest release: check that every extension, Composer package, plugin and your host support it. Supported by Laravel 12 and 13, not Laravel 11Applications on current framework versions with maintained dependencies and tests that cover the critical paths

There is no single right target. A workable rule is to choose the newest version that every part of the stack supports today, then confirm your host offers it. For WordPress sites, WordPress itself recommends PHP 8.3 or greater. PHP 8.6 is still a release candidate, so it is not a production target.

What happens if you don't upgrade

A PHP 8.2 server is not automatically vulnerable on January 1, 2027. The risk builds with time, from several directions:

  • No upstream security fixes. Any vulnerability found in 8.2 after December 31, 2026 will not be fixed by the PHP project. The October 21 releases show why that matters: they fix two critical vulnerabilities that can allow unauthenticated remote code execution, with a release for each branch from 8.2 to 8.5. After end of life, 8.2 would not get the equivalent.
  • Packages move on. Frameworks and libraries raise their minimum PHP version with new releases; Laravel 13 already requires PHP 8.3. Staying on 8.2 gradually freezes your dependencies at old versions too.
  • Maintenance gets harder. Fewer hosts, images and tools carry an unsupported branch.
  • Technical debt compounds. Every year of delay adds another release's changes to the eventual upgrade.
  • Continuity risk. An upgrade forced by an incident or a host retiring the version happens under time pressure.

A ten-step migration checklist

  1. 1. Identify the actual PHP runtime. Record the version that serves web requests on every server, container, worker and scheduled job, plus staging. Example: the command line reports 8.3 while the PHP-FPM pool behind the site still runs 8.2.
  2. 2. Check vendor patch status. If a distribution or host supplies your PHP, ask which security fixes its current package includes and how long it will patch the branch. Example: a package whose version string looks older than upstream but contains backported fixes.
  3. 3. Inventory the framework and dependencies. List the framework version, Composer packages or plugins, and PHP extensions. Example: a PDF library whose last release supports nothing newer than 8.2.
  4. 4. Select a compatible target version. Use the inventory and the matrix above. Example: everything supports 8.4 except one reporting package; either replace that package first or move to 8.3 now and schedule 8.4.
  5. 5. Prepare backups and a rollback. Keep a tested database backup, the previous release and the previous PHP image or package, and write down the rollback steps. Example: a restore rehearsed on staging.
  6. 6. Set up staging. Match production: the target PHP version, the same extensions and settings, the same web server, and a recent copy of the data with personal information masked.
  7. 7. Upgrade dependencies. Move Composer packages, plugins and extensions to releases that support the target version, and clear the deprecation notices that appear. Example: an older HTTP client library upgraded one major version, with its changed method names updated in the code.
  8. 8. Run application and integration tests. Cover the paths that earn money or hold data. Example: sign-in, payment callbacks, a CSV import and a CRM webhook, run against sandbox accounts on staging.
  9. 9. Deploy in controlled stages. Move one server, one site or a small share of traffic first, in a quiet period, then the rest. Example: restart queue workers and cron jobs on the new runtime in the same step.
  10. 10. Monitor errors and performance. Compare error logs, response times and failed jobs against the numbers from before the change. Example: watching through a full business cycle, including month-end jobs, before removing the rollback option.

Laravel applications

Laravel publishes the PHP range for each release in its support policy:

LaravelSupported PHPSecurity fixes until
138.3 to 8.5March 17, 2028
128.2 to 8.5February 24, 2027
118.2 to 8.4March 12, 2026 (ended)

Patching the PHP runtime and upgrading Laravel are two different jobs. The runtime is the interpreter installed on the server or baked into the container image; Laravel is a package in your composer.lock. Running composer update changes packages and leaves the interpreter exactly as it was.

In practice: a Laravel 12 application on PHP 8.2 can move to 8.3, 8.4 or 8.5 without a framework upgrade. A Laravel 11 application can go as far as 8.4, but the framework itself has had no security fixes since March 2026, so both need planning. Moving to Laravel 13 requires leaving 8.2 first. The phases for the framework side are in our Laravel upgrade and modernization checklist.

WordPress sites

WordPress recommends PHP 8.3 or greater, and treats PHP 7.4 or later as acceptable only in legacy environments, which are end of life. Moving a WordPress site to a newer PHP version is normally a compatibility exercise, not a rebuild. Work through it in this order:

  • Hosting. Find out which PHP versions your host offers and how it switches them: per site, per account, or only on request.
  • Themes and plugins. Check each one for a current release that supports the target version, and look for plugins that are no longer maintained.
  • Custom code. In-house plugins and child themes get no vendor updates, so they need a code review against the target version.
  • Staging. Switch PHP on a staging copy first.
  • Backups. Back up both files and database, and know how to restore them.
  • Regression testing. Test forms, checkout, logins and email.
  • Managed hosting. If a managed host patches or upgrades PHP for you, ask what it does for 8.2 and when it plans to change it.

PHP 5 and 7 systems

Older systems are a separate case. php.net says that PHP 8.1 and older no longer receive updates from the PHP project, so anything on PHP 5 or 7 has been outside upstream support for years. What fits depends on the system:

  • Vendor-supported patching, where an operating system or extended-support vendor still maintains the branch you run. Confirm exactly what it covers.
  • Interim risk reduction: limit who can reach the application and remove unused entry points. For what the October 2026 security releases meant for older branches, see our guide to the PHP2Shell vulnerabilities.
  • Dependency modernization: replace abandoned libraries before the PHP version changes, so each step has fewer moving parts.
  • Incremental migration: one PHP branch at a time with tests at each step, or parts of the application moved to new code while the rest keeps running.
  • Full modernization, only where the code cannot be brought forward safely in steps.

What drives cost and timeline

The size of an upgrade depends on:

  • Codebase size: how much code has to be checked against the target version.
  • Age: how many PHP branches the code has to cross.
  • Tests: whether there is a suite to catch regressions, or one has to be written first.
  • Dependency compatibility: how many packages, plugins and extensions need upgrades or replacements.
  • Database: driver, extension and server version changes.
  • Hosting architecture: one server, several, containers, or a managed platform with its own PHP schedule.
  • Third-party integrations: payment, CRM and other connections that need sandbox testing.
  • Rollback requirements: how quickly the previous version must be restorable.

If you want these assessed for your application, our PHP upgrade and migration service starts with the runtime and compatibility review described above.

Frequently Asked Questions

Is PHP 8.2 still supported?

Yes, until the end of 2026. It is in security-only support until December 31, 2026, and it received PHP 8.2.35 on October 21, 2026. It no longer receives ordinary bug fixes.

When does PHP 8.2 reach end of life?

After December 31, 2026, when its security support ends. From then on the PHP project publishes no further releases for 8.2.

Should we upgrade to PHP 8.4 or 8.5?

It depends on what your framework, extensions, packages and host support. PHP 8.4 has security support until December 31, 2028 and PHP 8.5 until December 31, 2029. Choose 8.5 only if every dependency supports it; otherwise 8.4 or 8.3 is the right step for now.

Will my Laravel application break?

It should not need to, as long as the target PHP version is inside your Laravel release’s range and your packages support it. Laravel 11 supports PHP 8.2 to 8.4, Laravel 12 supports 8.2 to 8.5, and Laravel 13 supports 8.3 to 8.5. Test the move on staging first.

Will my WordPress plugins work?

Check each one. WordPress recommends PHP 8.3 or greater, so actively maintained plugins have reason to keep up; plugins that are no longer maintained and custom in-house code are where problems usually appear. Switch PHP on a staging copy first and test the plugins you depend on.

Can a legacy PHP application be upgraded without a rewrite?

Usually, yes: one PHP branch at a time, replacing dependencies and adding tests along the way. A rewrite is worth considering only for parts that cannot be brought forward safely.

What if we cannot finish before December 31, 2026?

Use verified vendor backports or a managed provider that patches 8.2, confirmed in writing. Limit who can reach the system, keep monitoring and access controls tight, document the remaining risk and prioritize the upgrade plan. None of this replaces a supported, patched version.

Do managed hosts provide extended patches for PHP 8.2?

Some do, but it is vendor-specific. Ask your host which fixes its 8.2 packages will receive after the upstream end date, and when it plans to retire 8.2.

Last reviewed October 28, 2026, against the linked php.net, Laravel and WordPress pages. Support dates change only rarely, but vendor and hosting policies do, so confirm them before you plan. This guide summarizes published information; it is not an assessment of your system.

Technical consultation

Need Help Upgrading a Legacy PHP Application?

Tell us which PHP version, framework and host you run. An engineer will discuss compatibility, migration requirements, testing and deployment planning for your application.

  • A 30-minute technical discovery call with an engineer, not a salesperson.
  • Fixed-scope projects, monthly retainers, or a combination, agreed after the call.
  • Small, well-defined tasks get a scoped estimate. We reply within 1 business day.

Prefer to pick a time? Book a call on Calendly

Tell us about your project

We'll review your details and reach out within 1 business day.

Book Strategy CallCase Studies