WooCommerce » WooCommerce PHP 8.1 Requirement: Upgrade PHP Before 11.6

WooCommerce PHP 8.1 Requirement: Upgrade PHP Before 11.6

WooCommerce is dropping PHP 7.4 and 8.0. According to the official announcement, WooCommerce 11.6, planned for February 2027, will require PHP 8.1 or newer. Stores on older PHP can keep updating through 11.5, and that is the end of the road.

WooCommerce 11.3 adds a dismissible admin notice that shows your current PHP version and tells you to contact your host. If you see that notice, the checklist below is what I would follow before February.

As of 2026-10-31 these are the planned dates. Release schedules move, so check the WooCommerce developer blog before you plan around them.

Nothing breaks on the day 11.6 ships. The new requirement does not deactivate an existing WooCommerce install.

What changes is updates. WordPress blocks a plugin update when the server does not meet the PHP version the plugin declares, so your store stays frozen on 11.5 while bug fixes and features land in newer releases.

Security is the bigger problem. WooCommerce backports fixes for CVSS 9+ vulnerabilities to older release series for a while, but other fixes usually ship only in the latest release. PHP 7.4 and 8.0 also no longer get security updates upstream, so the runtime itself is a risk that no WooCommerce patch can cover.


In wp-admin, go to WooCommerce > Status and look at the PHP version row in the Server environment section. That is the version your web requests use.

If you have SSH access, you can ask WordPress itself:

wp eval 'echo PHP_VERSION . PHP_EOL;'
wp --info

The first command prints the PHP version WP-CLI runs under. wp --info also shows which PHP binary it uses.

💡 On many hosts the command-line PHP is a different version than the one serving the site. If the numbers do not match the Status page, trust the Status page and see how to run WP-CLI with a custom PHP version.

Most well-maintained plugins already run on PHP 8.3. The risk is in old plugins nobody updates, custom snippets in functions.php and themes that were built years ago.

A quick static check is PHPCompatibilityWP, a PHP_CodeSniffer ruleset that knows which WordPress polyfills to ignore. Install it in an empty folder outside the site and point it at a copy of the code:

mkdir ~/php-scan && cd ~/php-scan
composer config allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
composer require --dev phpcompatibility/phpcompatibility-wp:"^3.0@dev"

vendor/bin/phpcs -p /path/to/wp-content/plugins/my-old-plugin --standard=PHPCompatibilityWP --runtime-set testVersion 8.1-

Run it on each custom or abandoned plugin and on your theme. The 8.1- value means “PHP 8.1 and everything newer”. Errors are code that will fail, warnings are mostly deprecations.

When a store jumps from PHP 7.4, these are the usual suspects:

  • Functions removed in PHP 8.0, like create_function(), each() and get_magic_quotes_gpc(). I covered the last one in Call to undefined function get_magic_quotes_gpc().
  • Curly brace string offsets like $str{0}, which are a fatal error since PHP 8.0.
  • PHP 8.1 deprecations, such as passing null to internal functions that expect a string, or return type notices that ask for #[\ReturnTypeWillChange]. These fill the log but do not stop the site.

A static scan does not catch everything. The real test is still running the store on the new version.


Take a full backup before you touch PHP. With WP-CLI the database part is one line:

wp db export before-php-upgrade.sql

It should end with a Success: Exported to line. Copy that file and wp-content somewhere outside the web root.

See also  How to disable 🇷🇸 Serbian Cyrillic characters on WooCommerce checkout page

WooCommerce recommends PHP 8.3 or newer and says 8.1 only meets the minimum. If you are changing PHP anyway, I would go straight to 8.3 so you do not repeat all of this when 8.1 runs out of support.

Do it on staging first. In cPanel that is MultiPHP Manager, where you pick the version per domain.

In OpenPanel it works the same way under PHP > Select PHP Version: each domain has its own dropdown, and you can tick several domains and change them in one go. The change rewrites the domain config and reloads the web server, so expect a short blip. On OpenLiteSpeed or LiteSpeed the version can not be set per domain, so you change the default PHP version for all domains instead.

Before you click around, make PHP write warnings to a file instead of the screen. Add this to wp-config.php on staging, above the /* That's all, stop editing! */ line:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
woocommerce php 8 1 requirement wp config 1 - WooCommerce PHP 8.1 Requirement: Upgrade PHP Before 11.6
Where it goes in wp-config.php: above the “That’s all, stop editing!” line

Errors now go to wp-content/debug.log. More on reading that file in How to properly DEBUG in WordPress.

Loading the homepage is not a test. Go through the same areas WooCommerce lists in its own checklist:

  • Add to cart and a full checkout with every payment method you offer.
  • Shipping rates and tax for at least one domestic and one foreign address.
  • Order emails and order status changes in wp-admin.
  • Scheduled jobs: subscription renewals, stock syncs and anything else that runs in the background.
  • Your theme templates, extensions and any custom code.

Then read the log:

grep -E 'Fatal|Uncaught' wp-content/debug.log | sort | uniq -c | sort -rn | head -20

No output means no fatal errors were logged. Every line it does print contains a file path, which tells you exactly which plugin or theme to update or replace.

Once staging is clean, change PHP on the live site, go back to WooCommerce > Status and confirm the new version is shown. Place one more test order.

Only after that, update WooCommerce as usual:

wp plugin update woocommerce

If you copied the debug lines to production, remove them, or at least keep WP_DEBUG_DISPLAY set to false so visitors never see warnings.

Staying on 11.5 is fine for a few weeks while you test. Treat it as a short delay, not a plan. The longer a store sits on an unsupported PHP version, the more plugin updates it misses and the bigger the eventual jump gets.


TL;DR: WooCommerce 11.6 needs PHP 8.1+, and 11.5 is the last version for PHP 7.4 and 8.0. Check your version under WooCommerce > Status, scan old code with PHPCompatibilityWP, test PHP 8.3 on staging with the debug log on, then switch production before February 2027. If you can not change PHP yourself, the WooCommerce PHP update guide links to a template you can send to your host.

Was this post helpful?

Leave a Comment

I enjoy constructive responses and professional comments to my posts, and invite anyone to comment or link to my site.

Recommended