Sound familiar?
- Your host says your PHP version is end of life and will be switched
- WordPress Site Health shows "Your site is running an outdated version of PHP"
- After a PHP change the site shows "There has been a critical error on this website"
- A white screen or 500 error appeared after the host upgraded PHP
- Error logs are full of "Deprecated" notices
- A plugin update refuses to install because it needs a newer PHP version
Key facts
- PHP 7.4 reached end of life in November 2022 and gets no security fixes
- PHP 8.1 security support ended on 31 December 2025; PHP 8.2 security support runs to 31 December 2026
- Most breakage comes from removed functions (each(), create_function()) and stricter type handling
- PHP 8.2 deprecates dynamic properties, which floods logs on older plugins
- We test on a staging copy with WP_DEBUG logging on before touching the live site
- Upgrade work is £45 an hour + VAT; larger custom code fixes are quoted
Why the PHP version matters
PHP is the language most websites, including every WordPress, WooCommerce, Joomla and Drupal site, run on. Each PHP version gets about two years of active support and then two years of security fixes only. After that, no more fixes are released, even for serious security holes.
As of now, PHP 7.4 and everything before it is long out of support, PHP 8.1 stopped getting security fixes at the end of 2025, and PHP 8.2 security support ends on 31 December 2026. Hosts are increasingly forcing upgrades, plugin authors are dropping old versions, and running an old PHP version also makes your site slower, since PHP 8.x is noticeably faster in many workloads.
What breaks when you upgrade from PHP 7.4 to 8.x
PHP 8.0 was a major release with real breaking changes. The things we fix most often are:
- Removed functions such as each() and create_function(), still found in old themes and abandoned plugins. These cause fatal errors.
- Stricter types. Passing null or the wrong type to built-in functions, string-to-number comparisons that now behave differently, and arithmetic on non-numeric strings throwing TypeErrors.
- Curly brace string offsets like $str{0}, which are now a parse error.
- Dynamic properties deprecated in PHP 8.2, which do not break the site yet but fill logs with warnings and will break in a future version.
- Passing null to non-nullable parameters, deprecated in 8.1, which produces thousands of log entries on older WooCommerce extensions.
How dijitul support does a PHP upgrade
- Audit. We list your CMS version, every plugin and theme, and any custom code, and check each one's stated PHP compatibility.
- Update what can be updated. Most compatibility problems disappear once plugins and themes are on current versions.
- Test on staging. We clone the site, switch the clone to the target PHP version, turn on debug logging and click through key pages, forms, the admin area and checkout.
- Fix or replace. We patch custom code, and recommend replacements for abandoned plugins that will never be fixed.
- Switch live with a backup ready. Then we watch the error log for a few days.
If your site was built by a developer who has since disappeared, see abandoned website support. For heavily customised PHP applications, our sister company dijitul developments handles bespoke code.
If the host has already upgraded and your site is down
The quickest fix is usually to switch the PHP version back in your hosting control panel (cPanel's MultiPHP Manager or Plesk's PHP settings) to get the site up, then do the upgrade properly. If the host no longer offers the old version, we read the error log, find the file and line causing the fatal error, and patch it. This is the same process as our emergency website support.
Do not forget the other places PHP runs. Your hosting control panel may set a different version for the command line, which is what WP-CLI and scheduled cron jobs use, so a site can work in the browser while its background tasks quietly fail. We check both match. We also review php.ini limits such as memory_limit, max_execution_time and upload_max_filesize, because a new PHP version sometimes comes with the host's defaults rather than the values your site was tuned for.
Joomla, Drupal and other platforms
PHP upgrades are not just a WordPress issue. Joomla 3 does not support PHP 8 properly, so moving PHP often means moving to Joomla 4 or 5 at the same time, which is a bigger job we quote for. Older Drupal 7 sites and custom PHP applications can need code changes throughout. We will tell you after the audit whether a PHP upgrade is a tidy-up or part of a larger rebuild. See Joomla support and Drupal support.
Cost
Most WordPress PHP upgrades with current plugins take an hour or two at £45 an hour + VAT (30-minute minimum, then 15-minute blocks). Sites with custom themes or old bespoke code take longer, and we will give you an estimate after the audit. On any of our monthly plans from £25 a month + VAT, we keep an eye on PHP support dates so this never becomes an emergency.
What it costs
Support plans from £25 a month + VAT, or £45 an hour + VAT for one-off fixes. Pick a plan if you want it looked after every month, or pay by the hour for a one-off job.
Essential
Keep it updated, backed up and watched.
- Website software updates (core, plugins, themes) applied and checked
- Daily backups
- Uptime monitoring
- Security monitoring
Business
Updates plus an hour of fixes every month.
- Everything in Essential
- 1 hour of fixes or changes every month
- Priority support
Complete
Website and your team's IT, covered.
- Everything in Business
- 3 hours of fixes or changes every month
- IT and Microsoft 365 helpdesk for your team
No plan? The first 30 minutes are the minimum charge, then we bill in 15-minute blocks.
Frequently asked questions
Is it safe to stay on PHP 7.4?
No. PHP 7.4 reached end of life in November 2022 and has not had security fixes since. Many hosts now charge extra for old versions or switch them off, and current plugin versions increasingly refuse to install on it. Upgrading to a supported PHP 8.x release is the safe option.
Which PHP version should my site run?
Ideally the newest version your CMS, theme and plugins fully support, and at least one still receiving security fixes. PHP 8.2 security support ends on 31 December 2026, so for most WordPress sites dijitul support recommends PHP 8.3 or newer after testing.
Why does my site show a critical error after a PHP upgrade?
A theme, plugin or piece of custom code is using something PHP 8 removed or treats more strictly, which causes a fatal error. The error log, or the recovery mode email WordPress sends, names the file. dijitul support finds it and patches or replaces it.
How much does a PHP upgrade cost?
dijitul support charges £45 an hour + VAT. A WordPress site with up-to-date plugins often takes one to two hours including testing on staging. Old custom themes or bespoke code take longer, and we give you an estimate after a short audit.
Can I just roll back the PHP version?
Usually yes, as a short-term fix. In cPanel or Plesk you can select the previous PHP version for your domain. It gets the site back up, but the old version is still unsupported, so the underlying code should be fixed soon after.
What are deprecation warnings, and do they matter?
Deprecation warnings mean code uses a feature that still works but will be removed in a future PHP version. They do not break the site today, but they bloat error logs and become fatal errors later. We fix the important ones during the upgrade.
Related
Get it fixed
One-off fixes are £45 an hour + VAT. You'll know the likely cost before we start.