Prefer email? [email protected]

Free with any plan

Need to upgrade PHP without breaking your site or store?

Your PHP version is old or no longer gets security fixes, so WordPress, your host or a plugin is asking you to move on. The switch is one setting; the risk is old code that fails on newer PHP. We test your plugins, theme and custom code on a staging copy, fix what breaks, then switch the live site.

  • Quick Fix $149
  • If we can't fix it, you don't pay
  • WordPress and WooCommerce

Sound familiar?

  • Site Health or the dashboard says your site is running an outdated version of PHP
  • Your host says your PHP version is end of life and will be upgraded, or will cost extra to keep
  • A plugin update says it does not work with your version of PHP, so you cannot install it
  • You switched PHP once, the site broke, and you switched it straight back
  • Lines starting with "Deprecated" appeared on your pages after the host changed PHP
  • After the October 2026 PHP security release, your host says your PHP version needs patching or upgrading

Error messages you might see:

  • Your site is running on an outdated version of PHP (7.4.33), which does not receive security updates. It should be updated.
  • PHP Update Required
  • There is a new version of ... available, but it does not work with your version of PHP.
  • Deprecated: Creation of dynamic property ... is deprecated
  • PHP Fatal error: Uncaught Error: Call to undefined function create_function()

Why does this happen?

PHP is the language WordPress runs on, and each PHP version gets security fixes for about four years. After that, WordPress, your host and plugin vendors all push you to move. Changing the version is one setting. The work is making sure every plugin, your theme and any custom code still runs on the newer version.

The warning comes from one of three places:

  • WordPress itself. Site Health (Tools, Site Health) and a “PHP Update Required” or “PHP Update Recommended” box on the dashboard tell you your version is outdated or no longer receives security updates.
  • Your host. Hosts retire old PHP versions on their own schedule. Some switch sites over automatically, and some charge extra to keep an old version running.
  • A plugin. When a vendor raises its minimum PHP version, the Plugins screen says the new version does not work with your version of PHP, and WordPress will not install it. You stay on an old release of that plugin, missing its fixes.

What breaks when the version changes, most common first:

  • Old code that newer PHP rejects. PHP 8 removed functions that older plugins and themes relied on, such as create_function(), and it turns many old warnings into fatal errors. Counting something that is not a list, which PHP 7 only warned about, now stops the page with a critical error.
  • Custom code nobody has looked at in years. Snippets in a child theme’s functions.php or a small custom plugin. No update will fix these; someone has to read them.
  • Abandoned plugins. A plugin with no updates for years will not be made compatible by its author. It needs replacing or patching.
  • Noisy deprecation notices. Newer PHP versions flag code they plan to remove later, such as “Creation of dynamic property … is deprecated” or “Passing null to parameter #1 ($string) of type string is deprecated”. If your server shows errors on screen, these lines can print on your pages or into the background requests that run the cart and checkout.

Try this first

These checks change nothing on your site, so they are safe on a live store.

  1. Find out what you run now. Go to Tools, Site Health, Info and open the Server section to see your PHP version. On WooCommerce, WooCommerce, Status shows it too, under Server environment. Write it down, with any deadline your host has given you.
  2. Read the warnings you already have. Open the Status tab of Site Health and note what it says about PHP. Then check Dashboard, Updates and the Plugins screen for any plugin whose update does not work with your version of PHP. Those vendors have already moved on.
  3. Check what each plugin says it needs. On the Plugins screen, click “View details” under each plugin and read “Requires PHP Version”. A plugin that has not been updated in years may fail on newer PHP even if it names no limit. Note any plugin or snippet with no details page at all: that is custom code, and only reading it shows whether it is ready.
  4. Ask your host three questions, in writing. Does the PHP serving your site include the October 2026 security fix, and was PHP restarted after patching? Is there a staging copy you can switch to the new version first? Can the live site switch back if something breaks?

If your host already switched and the site broke, ask them (or use the PHP setting in your hosting panel) to put the previous version back. That undoes the change without touching your files or orders. If a plugin updated itself in the meantime, it may now need the newer version, so check the site straight after. It is a stopgap, but it gets you trading again while the cause is fixed.

Hand it over when staging shows errors, when the suspect list includes custom code, or when the site is a store. One plugin failing on the new version can quietly stop payments or order emails.

What did the October 2026 PHP flaw change?

In October 2026 PHP shipped emergency security releases for two flaws known as PHP2Shell. They sit in PHP itself, below WordPress, so no WordPress or security plugin update could fix them, as WordPress.org confirmed. The fix had to come from whoever runs your server.

PHP 8.2 to 8.5 got new official releases. PHP 8.1 and older did not, so those sites are covered only if the host applied its own patch, often without changing the version number. An older version does not mean your site was attacked. If you see an administrator nobody created, start with hacked site cleanup.

PHP 8.2 also reaches end of life on 31 December 2026, so PHP 8.3 or newer is the safer target, moved on staging first so the store keeps taking orders.

BoltPress Security, included in every care plan, checks each site’s PHP branch and patch level against PHP’s security releases every day and tells you in plain English when your server falls behind.

What if I am several versions behind?

Then we move in one step to a version that is still supported, not through every version in between, but we test against all the changes along the way. Sites this far behind usually have outdated plugins and an outdated WordPress too. Those come first, because the old plugin versions are the ones that fail on new PHP.

This fix covers the PHP switch and the small repairs it needs. A big jump, say from PHP 7.4, on a site with abandoned plugins or a long list of skipped updates needs those brought current first. That is our WordPress update catch-up, and staging shows which one you need.

If the upgrade has already broken things, start with site broken after an update or the critical error fix. The free WordPress audit flags an end of life PHP version when your server reveals it. Every other fix is on the Fix WordPress page.

What's included

Included

  • An inventory of your plugins, theme and custom snippets with their stated PHP support
  • A staging copy of the site running the new PHP version, tested before anything changes on live
  • Fixing deprecation warnings and fatal errors in your child theme and small custom snippets
  • Updating or swapping plugins that have a compatible version available
  • Switching the live site to the new version, with the old one kept ready to switch back
  • Checking that scheduled server tasks run on the new version too
  • Testing key pages, logins and forms, with a test order on WooCommerce stores

Not included

  • Rewriting a custom plugin or a heavily customised theme for the new PHP version
  • Rebuilding features from an abandoned plugin that has no compatible version
  • Moving to a new host when yours does not offer a supported PHP version
  • Installing or compiling PHP on a server you manage yourself

When it becomes a Comprehensive Fix job: If custom plugins or a bespoke theme need parts rewritten, or several abandoned plugins need replacing before the switch, the job becomes a Comprehensive Fix. We tell you what we found on staging before any extra work starts.

How it works

  1. Secure access

  2. Full backup

  3. Diagnose (on staging for stores)

  4. Fix

  5. Verify (a test order on WooCommerce)

  6. Report

Two ways to get it fixed

Pay once for this fix, or get it free as part of a care plan.

Free with any plan
  • Essential $89 per month
  • Managed $249 per month
  • Complete $599 per month

Includes 1 free fix.

Compare plans
Quick Fix
$149

Single-issue resolution: fatal errors, plugin/theme conflicts, update failures, PHP version upgrades.

Fix it for $149 : PHP upgrade

If we can't fix it, you don't pay.

Bigger than one cause? Comprehensive Fix $349: PHP upgrade

Prices in USD.

Refunds are handled by email: [email protected]

What we need from you

  • A WordPress administrator login, or a temporary one we can use
  • Hosting control panel access, or permission to ask your host to change the PHP version
  • Any deadline your host has given for the forced upgrade
  • Who built any custom plugins or theme code, if you know
  • Logins for premium plugins or themes, so we can download compatible versions

Frequently asked questions

What does end of life mean for PHP?

Each PHP version gets bug fixes and then security fixes for a few years after release. Once security support ends, newly found holes in that version are never patched. PHP 8.1 and older are already past that point, and PHP 8.2 gets its last security fixes at the end of 2026. Your site keeps working, but it keeps getting less safe.

Will upgrading PHP break my site?

It can, which is why we test on a staging copy before the live site changes. Most current plugins already run on newer PHP. The problems come from code that has not been updated in years: old plugins, page builder add-ons, a theme bought long ago, or snippets pasted into functions.php. Staging shows us exactly which ones fail before your visitors see anything.

Which PHP version should I move to?

The newest version that your host offers, that still gets security fixes, and that every plugin you rely on supports. WordPress and WooCommerce both recommend PHP 8.3 or newer. We check what each of your plugins declares, then confirm it on staging, rather than picking a number and hoping.

Can I just change the version in my hosting panel myself?

On a simple brochure site with few plugins, many owners do, and switching back is usually one click if something breaks. On a store, a broken checkout costs real orders before you notice it. A staging test first tells you whether the switch is safe, and what to fix before you make it.

What happens if I stay on the old version?

Nothing breaks on day one. But the old version stops getting security patches: when PHP fixed the PHP2Shell flaws in October 2026, PHP 8.1 and older got no new official release. Plugin vendors stop offering updates to your site, WordPress itself eventually stops updating, and hosts tend to force the upgrade sooner or later, on their schedule.

Are the Deprecated warnings an emergency?

Not on their own. A deprecation notice means the code still works but uses something PHP plans to remove later, so it is a warning about the next upgrade. The urgent part is when they print on your pages, because that can break checkout and other background requests. Error display should be switched off and the notices logged, and we fix the ones that come from your own code.

Will a newer PHP version make my site faster?

Often a little, because newer PHP versions are generally faster at running WordPress, and WordPress Site Health says as much. It is not a cure for a slow store, though. If speed is the real problem, the cause is usually heavy plugins, hosting or uncached pages, which is a different fix.

Not sure this is the problem?

Our free WordPress audit checks your site for this issue and others, and explains every finding.

Run the free audit

Stop fighting your website.
Let us fix it.

If we can't fix it, you don't pay.