How to Remove the Upgrade PHP Warning in WordPress
WordPress is an excellent platform, but in order to be that excellent platform, it needs to keep up with ever-changing web architecture. WordPress itself is based on PHP, a scripting language initially created all the way back in 1995.
PHP itself has evolved over time. It's not a static language; rather, there's a team that constantly adds new features, discontinues deprecated features, and ensures ongoing support.
As with many software platform updates, keeping up with the current version has two major benefits: features and security. In terms of features, newer versions of PHP add a range of possible new features, added benefits, and methods of data handling. There's tons of documentation out there if you're interested in the technical side of things.
Security, meanwhile, is perhaps more important. It's why I'm always telling people to keep WordPress and their plugins up to date, and it's why WordPress throws up that big error/warning message in your dashboard when your version is out of date.
Using old versions of software is a security risk. Sure, sometimes support continues after a new version is rolled out. For example, PHP5, the version initially released in 2004, maintained security updates until 2018.
The current version of PHP is PHP7. There was a PHP6, but a lot of people didn't like it and it wasn't widely adopted. That's why most systems, web hosts, and platforms skip from PHP5 to PHP7 without allowing PHP6 as an option.
PHP5 was so popular for so long that most people simply don't want to change. It's not as simple as clicking a few buttons in your web hosting control panel; often times, you'll need to manually update or chain-update your platform as well. Newer versions of WordPress might not work on PHP5, but older versions won't work on PHP7, so no matter what you update when, there's going to be some downtime. For major businesses, that downtime can be killer.
Incidentally, PHP8 is around the corner. It's not released yet, but the development team is looking to release it sometime in Q4 2020 or Q1 2021. Obviously, you won't need to update right away, but you will need to update eventually.
Dealing with PHP Update Warnings
So back to the problem at hand. You're running a WordPress-based site, and every time you log into your dashboard, you see a big warning at the top. It will tell you that your PHP version is out of date and that you need to update. And yet, from both the front end and back end of your website, everything seems to function fine. So what's going on?
There are two possible reasons you're getting this warning. The first is that WordPress is preemptively telling you to update before things break. If you want to update WordPress to keep it up to date and functional, sooner or later you will need to update PHP. The newest versions of WordPress include new features and new optimizations that take advantage of new PHP features, so using an old version of PHP means the new WordPress won't work. Thus, WordPress tells you to update so you don't run into a problem down the road.
The second potential cause is a plugin in the same situation. Some plugins will want to use new features from the new versions of PHP. They can trigger a warning that will cajole you into updating your PHP version, and your WordPress version besides.
As it stands, there are three ways you can deal with the PHP warning. I'll discuss each of them in turn.
Option 1: Just Ignore It
If you're reading a post like this, chances are you've been ignoring this PHP error for a while, but it's possible that it just popped up and you're looking to figure out how to deal with hit. WordPress has their own linked documentation in the warning itself, so you can read that, but hey, I know how it is. Sometimes you want a more plain language set of instructions.
In any case, for now, you can just ignore the warning. I don't typically recommend it, but you can. Nothing is going to light on fire for ignoring it, the way something might if you ignore a check engine light in a car.
Here's what happens if you ignore the warning.
First, you'll just have to get used to seeing the warning in your dashboard every time you log in. It's front and center, meant to be obvious and hard to ignore, but WordPress isn't going to do anything dumb like make it animated or make it take over your dashboard and prevent using your site. After all, they're just providing the platform; what you do with it is up to you.
Eventually, you might start to run into problems. The first problem you're likely to see is that some of your plugins may stop working when you go to update them, or they may not be able to be updated. Smart plugin update scripts will detect that they can't properly update and will simply cancel the update. Others might get partially through the update process and break, leaving you with a broken plugin or a broken site.
What's happening here is that the plugin author updated it to work with the newer versions of PHP, and in doing so, broke it for older versions of PHP. Since supporting both versions is a lot harder than just supporting one, so plugin authors – many of whom aren't getting paid to do the work in the first place – will just not do it.
After a while, you may start receiving notices from your web host as well. Your web host is responsible for providing access to PHP versions. They can tell that your website is using a particular version of PHP, like 5.5 or 5.7, and they may want to retire support for these older versions.
For example, the IONOS (formerly 1and1) web host ended support for PHP 5 and even PHP7.0, though they still support 7.1 and above. In the lead-up to ending support, they sent plenty of warning to existing customers using older versions of PHP with an offer. You can buy extended support, or you can update your website.
Extended support is generally the way companies handle this issue. You can keep using older PHP versions, but you'll end up paying an additional monthly fee to access that old version, until such time as you turn it off. Because the authors of PHP are no longer supporting the old versions, it falls to the web host to develop security updates, because it's their servers that need protecting. They're generally willing to do it, but they want to get paid to do it, so here we are.
Over time, the cost of that extended support will ramp up, and they may start to cancel extended support for much older versions. For example, PHP3 is unlikely to be in extended support anywhere outside of very specific legacy applications, and those aren't generally consumer-level web hosts to begin with.
Sooner or later you're going to have to update PHP. So here's my warning to you: do it sooner rather than later. See, the more versions you let pass you by without updating, the more work it's going to be to update. Automatic updaters aren't going to work very well or at all once you get more than a few versions away, and you might even end up needing to do manual code work or hire a developer to handle it. It becomes a huge pain in the rear
Option 2: Hide the Warning
Obviously, just ignoring the warning isn't going to do you much good in the long run. However, there are sometimes valid reasons you might not be able to update. Maybe you're running a particular plugin that uses old PHP functions and will break if you update, but the plugin is critical to the way your website functions.
We create blog content that converts - not just for ourselves, but for our clients, too.
We pick blog topics like hedge funds pick stocks. Then, we create articles that are 10x better to earn the top spot.
Content marketing has two ingredients - content and marketing. We've earned our black belts in both.
In some cases, you might even have a web host that doesn't support newer versions of PHP, or will support them only if you pay for a more updated package, which costs more. It's not uncommon for web hosts to require upgrades like this, though it's still kind of a slimy practice and the best web hosts don't do it.
When the issue is a plugin, you have three options.
First, you can wait for the plugin author to release a newer, functional version for new versions of PHP. This can happen, but sometimes a plugin is just abandoned and there's nothing you can do about it.
Second, you can find an alternative plugin to do what you want. Sometimes this is possible – and with the massive library of plugins WordPress has available, it's not terribly unusual – but some niche plugins just aren't available in more than one form.
Third, you can hire a developer to create a new version of the plugin for your use. This will guarantee that you get an updated plugin, but it costs money, occasionally even a lot of money.
When the issue is your web host, of course, you either have to pay for an upgrade or migrate to a new web host. Both are less than ideal.
There's also occasionally custom code that needs old PHP, and you run into the same issues as you do with plugins.
If you can't update for one reason or another, you might consider just hiding the upgrade PHP warning. Hiding it doesn't solve the problem, but it does mean you don't have to look at it every time you open your dashboard. If you're already working on a solution, this can ease some of your stress.
As far as hiding the actual code, if you aren't going to upgrade despite the security concerns, you can simply log in to your WordPress dashboard, and then locate the dropdown area in the upper right that says "Screen Options". Click that to open the hidden menu, then locate the box that says "PHP Update Required". Unchecking that box will hide it from your dashboard so you will no longer see it when logging into WordPress. However, the next option is really the best option, if your code allows you to upgrade.
Option 3: Update PHP
The third option (and let's be real here; the only real option) is to actually just do what the warning says and update your PHP version.
Now, in order to successfully update PHP, you want to make a checklist to ensure that you're doing everything properly. Here's my recommended process.
Step 1: Make a list of everything you're using on your site. This means WordPress itself, of course. It also means any frameworks you're using, like the Genesis framework, which may need updating when you update WordPress. On top of that, you want to make note of your theme, and make a complete list of all of the plugins you're using.
Step 2: Audit your list. In particular, you want to go through your plugins. Are any of them plugins you're no longer really using? If so, this is a great opportunity to remove them. It's one less thing to have to worry about when you're updating everything.
While you're at it, check each of your plugins against the common red flags. By that, I mean:
- Is the plugin compatible with the newest versions of WordPress and PHP?
- Does the plugin need updating?
- Is the plugin actively under development? Remember, anything that hasn't been updated in over a year is potentially vulnerable.
- Can you consolidate any plugins? For example, if you're using 2-3 plugins to manage various aspects of SEO, you might be able to replace them with Yoast.
- Are any plugins slowing down your site? Site speed might not have been an important factor five years ago when you added a plugin, but it's more important now.
In general, look for errors, issues, and plugins you want to update, remove, merge, or otherwise change. The goal here is to make sure you have a list of everything you need to do to get your site up and running as quickly as possible when you update your PHP version.
Step 3: Make any updates you need to make prior to updating. I've had cases where it's impossible to jump from, say, PHP 5.5 to PHP 7.3 without passing through an intermediate state. I had to change the site from PHP 5.5 to PHP 5.7, update stuff, then jump to PHP 7.0, update some more, then finally update to PHP 7.3.
It's easy to want to do the bare minimum here to maintain functionality, but it's always going to be better to get to the latest version and stay there than it is to constantly be forced along by the floor falling out behind you.
Step 4: Download any files you need to have on hand. Nothing's worse than finding yourself missing critical files in the middle of an update, and needing to put everything on hold while a zip file downloads. Just having everything on hand, nicely labeled, can make life a lot easier.
Step 5: Make a backup of your current site. This means everything from your PHP files to your data and SQL databases to your uploads folders and your robots.txt files. You never know what might get wiped, what might be tweaked or cleared or reset, or what might get corrupted in the process of an update. Having a backup will, at minimum, ensure that your site is easy to restore if something goes wrong.
Step 6: Proceed with the update. Generally what this means is that you need to do what updates you can on your current version of PHP, then update your PHP version to the highest you can get with your site still functioning, and apply whatever updates you can from there. Sometimes it's just one jump to the latest version, a few updates, and you're good to go. Sometimes it's a much more incremental process.
It really depends on what level of PHP you're using, how old your WordPress and plugins are, and how much you need to update manually. Just take it slow and verify each update along the way.
In order to actually update your PHP version, you will need to follow whatever instructions your web host uses. Most web hosts use cPanel these days, and cPanel makes it very easy. All you need to do is log into your cPanel account, then click on the PHP Configuration menu option. There will generally be a drop-down menu for PHP version, and you can choose whichever version you need. Click apply and give your host a minute or two to apply the update.
Here are a few examples of how to actually handle the update, if you don't like my rundown.
As you can see, they're pretty much all the same. The whole process shouldn't be too difficult unless you have a strange and restricted circumstance, and even then, I recommend just calling your web host support line. They will often have someone on hand who can help.