A site breaking after a PHP version change — fatal errors, blank pages, plugins malfunctioning — usually means something in your theme or plugin code relies on a function or syntax that’s been removed or changed in the newer PHP version, which needs identifying and correcting rather than simply reverting the version and leaving the underlying incompatibility unaddressed.
Check your error log for the specific PHP error, not just that the site is broken
Look at your site’s PHP error log (accessible via FTP, your hosting control panel, or WP_DEBUG_LOG if enabled) for the specific fatal error message. It typically names the exact file, function, and line causing the incompatibility, which is far more useful than a general “the site broke” description.
PHP version compatibility fix
A site broken by a PHP version change, traced to the specific incompatible code.
- Full backup taken before we start
- If we can’t fix it, you get your money back
- We never ask for your own password
This or something else?
| Your site broke or is showing errors after a PHP version change | This fix covers it |
| You want the PHP version itself changed, without an existing compatibility issue | PHP version & extension changes at server level, in the Hosting Control Panel Operations category |
| The issue is a resource limit, not a version compatibility problem | PHP resource limits (memory, execution, upload) tuning |
| Your host’s control panel simply doesn’t offer the PHP version your site actually needs | Worth confirming this is genuinely the situation — that’s a hosting limitation, not a code compatibility issue |
What you are seeing
- A fatal error or blank white screen following a PHP version change
- Specific plugins or theme features malfunctioning while others work fine
- Deprecation warnings cluttering the page or error log
- The site working fine on the old PHP version but breaking specifically on the new one
Common causes
- A theme or plugin using a function that was removed in the newer PHP version
- Code relying on a deprecated feature that newer PHP versions handle differently or reject entirely
- A syntax pattern valid in older PHP but generating a parse error in the current version
- An outdated plugin never updated to support current PHP versions
- A custom must-use plugin bypassing normal update channels, quietly continuing to run incompatible code a regular plugin update would already have addressed
What we do
- Identify the specific error and its source from the error log
- Determine whether the fix is a code correction, a plugin update, or a plugin replacement
- Apply the appropriate correction
- Verify the site functions correctly on the current PHP version
- Check for any other, similar incompatibilities that haven’t yet caused a visible error
- Test broader site function to confirm nothing else was affected
What is included
- The specific PHP compatibility issue identified and corrected
- Verified site function on the current PHP version
- A check for related incompatibilities not yet causing visible errors
- The pre-fix backup, kept for 30 days
Not included
- Changing the PHP version itself, a separate, related fix at the hosting control panel level
- Replacing a plugin entirely if that turns out to be the most sensible fix — a separate, additional conversation about cost and alternatives
- Broader, unrelated site issues discovered during testing
- Ongoing compatibility maintenance as PHP continues to evolve
Questions about this fix
Why would my host force a PHP version change that breaks my site?
Hosts periodically retire older PHP versions for security reasons, since unsupported versions no longer receive security patches — the change is usually about hosting-wide security, not something aimed at your site specifically.
Should I just revert to the old PHP version instead of fixing this?
That avoids the immediate problem, but older PHP versions eventually stop receiving security updates entirely, and many hosts phase them out — treating this as a temporary reprieve rather than a permanent fix is the more realistic way to think about it.
How do you know which specific code is causing the problem?
The PHP error log typically names the exact file and line where the incompatibility occurs, which is the most direct, reliable starting point rather than guessing across your entire codebase.
What if the incompatible code is in a plugin I can't easily change myself?
If it's a third-party plugin, updating to its latest version often resolves this, since plugin developers typically update for PHP compatibility over time — if the plugin is abandoned or the code is custom to your site, that's worth a direct conversation about the best path forward.
Will this happen again with the next PHP version?
It's a genuine, ongoing risk with any code depending on a specific PHP version's behaviour — testing on staging before adopting a new PHP version is a reasonable, general precaution against this recurring.
Related fixes
If this is the second time this year
A bad update breaking the site is a symptom of updates not being tested first. Care plans run every update on a staging clone before it reaches your live site, which is the actual fix for this happening again.
Your access, your rules
Create a separate admin account for us and delete it when we are done. For anything else, we get in touch and agree a method — never a form field on this site, never by reply to an email.
We back up first, always
Before anything is touched we take a full backup and keep it for 30 days. If a fix goes wrong, we put the site back exactly as it was.
If it is not what you bought
If the problem turns out smaller than what you ordered, we refund the difference. If it is bigger, we stop and send a quote before doing any extra work.
If we cannot fix it
You get back what we received. Diagnosis is on us — you only pay when the problem is actually solved. The payment processor takes its fee before the money reaches us, so we never hold it and it is not ours to return. That is true here as everywhere else.
If it comes back
Reply within seven days of delivery and we put it back on the bench at no cost. The fix is not finished until it holds.
What we are responsible for
If something goes wrong with a fix, our responsibility is limited to what you paid for it. We take a full backup first so mistakes can be undone, and we tell you before doing anything outside what you bought.