WooCommerce
Moving a live WooCommerce store from PHP 7.4 to current
PHP 7.4 reached end of life on 28 November 2022, and we have moved a live high-volume store off it within a maintenance engagement. The trick is mostly the order of work, because the store has to keep selling.
By itmarkerz Technologies. Updated 30 October 2026.
Where WooCommerce stands today
WooCommerce’s server requirements for version 10.8 and later list PHP 8.3 or greater, tested up to PHP 8.4, with MySQL 8.0 or greater, or MariaDB 10.6 or greater, and WordPress 6.9. The same page says it still works on PHP 7.4 and later, MySQL 5.6 and later, or MariaDB 10.4 and later, but that those are past end of life and may create security risks.
So core may well run, and that’s the risk. An old store can look fine while its PHP gets no fixes, and while each newer plugin release quietly drops support for it. PHP 8.3 has security fixes until 31 December 2027 and PHP 8.4 until 31 December 2028.
1. Take stock
Write down what you have before you change anything.
wp --info
wp core version
wp plugin list --fields=name,status,version,update
wp theme list --fields=name,status,version,updateFor each plugin, record who makes it, whether it is still maintained, and what it does for the business. A plugin with no release in years is your likeliest problem. Include anything custom, such as a child theme or a code snippets plugin. Also list everything outside WordPress that touches the store: payment gateways, shipping, feeds, and any ERP integration.
2. Sort out backups, and prove them
On the store we look after, backups run every two hours to S3-compatible storage, with tested restores. You may not need that frequency, but you do need a restore you have actually carried out. A store takes orders all day, so also decide how much order data you could stand to lose, since that sets the schedule.
3. Build a staging copy that behaves like production
Use the same server setup with the target PHP version. Then make it safe: turn off outgoing email, switch payment gateways to test mode, and point any integration at a sandbox. A staging site that sends real emails or real orders into your ERP will have you apologising to customers.
4. Find what breaks, before anyone sees it
Turn on logging on staging, and browse and buy. What you are looking for on this jump is covered in our PHP upgrade matrix. On WooCommerce sites, the usual sources are:
- The PHP 8.0 removals and type errors. Things that used to warn can now throw, and that can take down the whole checkout, not only one widget.
- Loose comparisons in custom pricing, shipping or discount rules. These don’t error. Test them with real cases and compare totals with the live store.
- Dynamic property and null deprecations from 8.1 and 8.2. These only make noise for now, but the volume can be large in older plugins.
5. Update in layers
Change one layer at a time so that when something breaks, you know which change did it. A common order is to update plugins and theme while still on the old PHP, as far as they allow, then change PHP, then update whatever needed the newer version. Replace abandoned plugins rather than patching them, unless the plugin is small and you will take on owning it.
On our client’s store this happened progressively within the maintenance engagement, with PHP, plugins and theme all brought current over time. Moving in smaller steps costs more calendar time, and it means there’s never one large, risky release.
6. Test what earns the money
- Guest and account checkout, with each payment method and with a refund.
- Coupons, tax on each rate you use, shipping rules, and order emails.
- Variable products and stock changes after a sale.
- Scheduled jobs and any subscription renewals.
- The integration. If orders go to an ERP, confirm that a test order arrives with the right totals. Syncing orders at high volume covers what to watch.
7. Make the switch at a quiet time
- Choose your quietest hour, from your own order data rather than a guess.
- Take a fresh backup just before.
- Change PHP, clear caches, including OPcache, and place a real test order.
- Watch the error log and payment gateway dashboard for the rest of the day.
- Check WooCommerce’s webhook status and scheduled actions, since they can stall without anyone noticing.
Then keep it current
The expensive part of this job is having let it build up. Once you are current, a release of PHP or WooCommerce is a small routine task. That is what a maintenance plan is for, and it’s how the Belgian store stays where it is. See WooCommerce maintenance for our plans. For systems beyond WooCommerce, see legacy PHP modernisation.
The store this comes from
Three years keeping a high-volume Belgian WooCommerce store up, fast and in sync with Microsoft Dynamics: PHP 7.4 to current, two-hourly backups to S3-compatible storage, monitoring, and every change request handled.
- Sector
- E-commerce & retail
- Region
- Belgium
- Stack
- WordPress, WooCommerce, Microsoft Dynamics
- Engagement
- Maintenance, three years and ongoing
Questions
Which PHP version should a WooCommerce store run?
Check WooCommerce's server requirements on the day. As of October 2026 they list PHP 8.3 or greater, tested up to PHP 8.4, for WooCommerce 10.8 and later. Your plugins may narrow that further, so the highest version all of them pass on is your target.
Will WooCommerce stop working on PHP 7.4?
WooCommerce's requirements page says it still works with PHP 7.4 or later, but that those versions are past end of life and may create security risks. The practical pressure usually comes from your other plugins and host first.
Can we switch back if something breaks?
On most hosts, the PHP version can be changed back quickly. Orders placed after the switch stay in the database, so PHP can be reverted without losing them, as long as you haven't also changed the database or run a one-way plugin update. Keep those changes separate.
More on WooCommerce and Dynamics
- WooCommerce to Microsoft Dynamics: field mapping and sync guideOrders, customers, products and invoices, field by field, with conflict rules.
- WooCommerce and Microsoft Dynamics: plugin, connector or custom build?A neutral comparison of the three ways to connect them.
- Business Central, Sales or Finance: how each changes a WooCommerce integrationDifferent APIs, limits and change notifications for each product.
- Syncing WooCommerce orders to Dynamics at high volumeQueues, duplicate protection, throttling and daily reconciliation.
- WordPress forms into Dynamics, without a plugin that almost fitsMapping, validation and retry for enquiries that must not go missing.
- What WooCommerce maintenance should include for a store that can’t go downThe questions to ask any provider, with our own plans compared.
- How often should a WooCommerce store back up?Working out a schedule from your own orders, and testing the restore.
Is your store still on an old PHP version?
Tell us the PHP and WooCommerce versions, and which plugins you depend on. We will tell you what we would check first.
We reply within one business day (IST).