The email from your host
The host writes to say the PHP version your site runs on is end of life and will be switched off, or that staying on it will cost extra. Someone tried switching to the newer version in the control panel. The site went blank, or the contact form stopped working, and they switched back.
Now the site sits on software that no longer gets security fixes, with a deadline approaching and no clear idea what is incompatible.
Why the upgrade breaks things
PHP is the language WordPress runs on. Each major version removes old functions and becomes stricter about code that was always slightly wrong. WordPress core itself keeps up. The problems are nearly always in the parts added on top.
| Source | Why it fails on newer PHP |
|---|---|
| Old versions of plugins | Written for PHP that allowed things the new version rejects |
| Abandoned plugins | No updates will ever come |
| Custom or premium theme | Old code, often with custom functions added over the years |
| Snippets in functions.php | Copied from forums years ago, never revisited |
| Bundled libraries inside plugins | An old copy of a library that newer PHP cannot run |
The root cause is usually that updates stopped at some point, so the site was frozen in a state that only works on the old PHP.
What staying on old PHP costs
Unsupported PHP versions stop receiving security fixes, so any vulnerability found later stays open on your server. Newer plugin versions often require a newer PHP, so you cannot update them either, which compounds the risk. Hosts may charge for extended support on old versions or move you onto it without asking. And older PHP is generally slower than current releases.
Being stuck also limits every decision around the site. You cannot easily change host, because the new host may not offer the old version at all. You cannot add modern plugins or integrations, because they expect current PHP. And any developer you bring in has to work around the constraint before doing anything useful.
How we get the site onto current PHP
- Back up the site and set up a staging copy running the PHP version you are moving to.
- Run compatibility scans across the theme, plugins and custom code to list likely problems.
- Turn on full error logging on staging and work through every template, form, checkout and admin screen to catch what the scan misses.
- Update plugins and the theme to versions that support the new PHP, fixing anything that breaks along the way.
- Replace abandoned plugins with maintained alternatives, or with a small piece of custom code if the job is simple.
- Fix custom theme code and snippets directly, moving them into a child theme or a site plugin so they survive future updates.
- Switch the live site to the new PHP version at a quiet time, with the backup and the old version available if something unexpected appears.
- Leave a note of what changed and set up regular updates, so the site does not fall behind again.
After the upgrade
The site runs on a supported PHP version that receives security fixes. Plugins can be updated again. The host's deadline is no longer a threat. You know which parts of the site are custom and who needs to look after them.
Is your site in this position?
- Your host has warned about an end-of-life PHP version
- Switching PHP version in the control panel broke the site
- Plugins refuse to update because they need newer PHP
- Site Health in WordPress flags the PHP version
- The theme was custom built and the developer has gone
- Nobody knows what code has been added to functions.php