Checklist · 6 min read

PHP 8.2 end of life on December 31, 2026: a practical checklist

The short answer

PHP 8.2 stops receiving security fixes on December 31, 2026 (source: php.net supported versions). From then on, new flaws found in PHP 8.2 won’t be fixed by the PHP project, and the supported branches will be 8.3, 8.4 and 8.5 (source: php.net supported versions). If you run PHP 8.2 or older, plan an upgrade now. Move to PHP 8.4 (security fixes until December 31, 2028) or PHP 8.5 (until December 31, 2029), rather than 8.3, whose fixes end on December 31, 2027 (source: php.net supported versions). That way you do the work once. Start with an inventory and a compatibility check, test on a staging copy, and schedule the switch away from your busiest weeks.

What does “end of life” mean?

End of life (EOL) means a PHP branch gets no more official security fixes. Your site doesn’t stop working on January 1. What stops is the supply of fixes when the next flaw is found.

PHP2Shell showed what that looks like. When the fixes shipped on October 21, 2026, there was no official PHP release fixing PHP 8.1 or older. Those sites had to rely on their host, their Linux distribution or a paid extended-support provider, or upgrade (source: Beazley Security Labs).

Branch Official security fixes until Status as of October 23, 2026
7.4 November 2022 Ended (source: php.net unsupported branches)
8.1 December 31, 2025 Ended (source: php.net unsupported branches)
8.2 December 31, 2026 Security fixes only, ending soon (source: php.net supported versions)
8.3 December 31, 2027 Supported (source: php.net supported versions)
8.4 December 31, 2028 Supported (source: php.net supported versions)
8.5 December 31, 2029 Supported (source: php.net supported versions)

php.net can extend these dates; we re-check them monthly.

How many sites does this affect?

A lot. By our calculation from W3Techs data (as of October 23, 2026), about 48% of PHP websites that reveal their version already run a branch that no longer gets official security fixes. On January 1, 2027 that rises to about 66%, unless those sites upgrade (source: W3Techs). Two caveats matter. Only sites that reveal their version are counted, and well-maintained sites often hide it, so the figure may overstate the problem. And distribution packages can carry fixes under old version numbers (source: W3Techs; AlmaLinux).

WordPress shows the same pattern. WordPress.org’s own statistics show that about a third of WordPress sites (34% as of October 24, 2026) run PHP older than 8.2. Counting 8.2, the figure is about 58% (source: WordPress.org statistics). WordPress itself is mostly up to date, thanks to automatic updates. The PHP version underneath is set by the hosting environment, and that’s where sites fall behind (source: WordPress.org version statistics).

Which version should I upgrade to?

PHP 8.4 or 8.5. Moving from 8.2 to 8.3 buys one extra year, to December 31, 2027, and then you do it all again (source: php.net supported versions). Choose 8.5 if your plugins, theme and libraries all support it; otherwise 8.4. If you’re on 7.x, expect a bigger jump and budget more testing time.

Can I stay on 8.2 with a backport instead?

As a bridge, yes. As a destination, no. Hosts, Linux distributions and paid extended-support providers can keep old branches patched after official support ends (source: Beazley Security Labs). Some hosts patched PHP2Shell on end-of-life branches without changing the version number (source: AlmaLinux). A backport fixes the flaws it targets, but the branch still gets no official PHP fixes for the next one (source: php.net unsupported branches). If you use a backport, get its end date in writing, and plan the upgrade before then.

The checklist

Phase 1. Inventory (this week)

Phase 2. Check compatibility

  • Check that your host offers PHP 8.4 or 8.5 on your plan. If it doesn’t, moving host becomes part of the project.
  • Check each plugin’s and theme’s declared PHP support. Flag anything abandoned and pick a replacement now. On WordPress, here’s how to read it.
  • Run a static compatibility scan of custom code, for example PHPCompatibility or a Rector dry run. This flags code that newer PHP versions may reject, before anything changes.
  • Sort each site: switch-ready (no code changes), needs code changes, host can’t run 8.4, or bridge needed.

Phase 3. Prepare

  • Take a backup stored off the server, and test that it restores.
  • Make a staging copy on the target PHP version.
  • Write a short test plan for what makes you money or keeps the business running: checkout, payments, forms, logins, uploads, admin screens, emails, scheduled jobs.

Phase 4. Test on staging

  • Switch staging to PHP 8.4 or 8.5, with error logging on.
  • Run the test plan. Fix or replace whatever breaks, then re-test.
  • Record what changed, so the production switch is a repeat, not an experiment.

Phase 5. Schedule the switch

  • Avoid your busiest weeks. Online stores should finish runtime changes before their holiday code freeze around Black Friday and Cyber Monday.
  • Leave a buffer before December 31 for anything that goes wrong.
  • Agree a rollback plan: how you’d switch back, who decides, and how long the old version stays available.

Phase 6. Switch and verify

Phase 7. After

If you can’t finish by December 31

Prioritize. Upgrade first the sites that are internet-facing and handle logins or payments. For the rest, arrange a bridge: a host or vendor backport with a written end date. Keep your configuration hardened and a firewall in front. Firewalls can block many attempts and buy time, but they don’t replace the patch (source: Beazley Security Labs). Then finish the upgrades in January rather than letting the bridge become permanent.

Upgrading PHP doesn’t mean rewriting the site. Other technologies have had flaws just as severe (source: Google Cloud). The risk lies in runtimes that no longer get fixes, not in the language.

Sourced facts

Full wording, primary sources and dates: /sources.

ID Fact Primary source Date
S-32 PHP 8.2 security fixes end Dec 31, 2026 php.net supported versions Checked Oct 23, 2026
S-32b 8.4 → Dec 31, 2028; 8.5 → Dec 31, 2029; 8.3 → Dec 31, 2027 php.net supported versions Checked Oct 23, 2026
S-33 8.1 ended Dec 31, 2025; 7.4 ended Nov 2022 php.net EOL Checked Oct 23, 2026
S-03 No official PHP2Shell fix for 8.1 and older Beazley Oct 21–23, 2026
S-34 ~48% of version-revealing PHP sites on EOL PHP → ~66% on Jan 1, 2027 (our calculation) W3Techs · method Oct 23, 2026 · LIVE
S-35 About a third (34%) of WordPress sites below 8.2 → ~58% counting 8.2 (our calculation) WordPress.org stats Oct 24, 2026 · LIVE
S-36 WordPress core is mostly current; PHP is set by hosting WordPress.org stats Oct 23, 2026 · LIVE
S-05b Who patches: managed hosts reported patching managed plans; nobody patches self-managed servers for you WP Engine · Hostinger Oct 21–23, 2026 · LIVE
S-09 Backports keep old version numbers; command-line PHP may differ from the web PHP; restart needed Xserver · Red Hat Oct 21–23, 2026
S-02b CVE-2026-115560 interim setting php.net Oct 23, 2026 · LIVE
S-10 / S-47 Firewalls don’t replace patching; other stacks aren’t immune Beazley · Google GTIG 2025–2026

Frequently asked questions

Will my website stop working on January 1, 2027?

No. A site on PHP 8.2 keeps running. What ends is official security fixes: flaws found after December 31, 2026 won’t be fixed by the PHP project for 8.2 (source: php.net supported versions).

Do WordPress automatic updates upgrade PHP?

No. WordPress can update itself automatically, but the PHP version underneath is set by your hosting environment, and WordPress auto-updates don’t change it (source: WordPress.org version statistics). You, your developer or your host has to switch it.

Does upgrading PHP also fix PHP2Shell?

Moving to a current release on 8.4 or 8.5 (8.4.27 or 8.5.12 and later) includes the PHP2Shell fixes (source: php.net release archive). As of October 23, 2026, you still need PHP’s recommended setting for CVE-2026-115560, and a restart (source: php.net advisory on CVE-2026-115560, October 23, 2026).

Is PHP 8.3 a reasonable target?

It’s supported until December 31, 2027, a year longer than 8.2 (source: php.net supported versions). Unless something blocks 8.4, you’d be doing the same project again in twelve months.

Know before you book the work

Your website, accounted for.

Will your site run on PHP 8.4, and what will the move take?

The EOL Readiness Report tells you, in two business days, whether your site will run on PHP 8.4, and what a move will take.

$290 per CMS site (WordPress, Magento, Drupal).

See all services and prices

Sources

Every figure and quotation on this guide links to its primary source. All of them, with the date we last checked each: full wording and methods.

Primary sources for this guide