Nonprofits Updating PHP: It’s More than Just Clicking the Update Button September 6, 2022 by Jeremy DeLong Thinking in: CMS/Websites, Support Tips As we’ve written about before, your technology systems are comprised of many different software components, each with their own expected upgrade cadence. These updates are often critically important for addressing serious security risks, and falling behind can also impact your site’s speed and performance. If your website needs the latest PHP major version upgrade (from 7.4.x to 8.0.x), you might be tempted to do it yourself, or pay the small fee to have your hosting company go ahead and upgrade for you — after all, you know you want to keep your site safe, and it’s just clicking a button, right? But that one click could have big consequences for nonprofits updating PHP. Get some help upfront on this one. When you attempt an upgrade without first having done everything to ensure its success, your actual cost can be much higher than whatever you think you’ll save with a DIY or lower-cost option. Here’s why getting professional help is the way to go: You’ll avoid the “whack-a-mole” cycle of problems, fixes, and malfunctions. Let’s say you have some technical know-how and you’re up for a challenge, so you decide to save some money by switching the PHP version on your site yourself. You know enough to expect some issues to arise, but you’re on top of it — you’re sure that any problems can be quickly resolved. So you click the button! Maybe you get lucky and your site is simple enough that it comes through unscathed… but it’s far more likely that you discover at least ONE module/extension/other bit of custom code on your site that turns out to be incompatible with the upgrade in question. Here’s how your week plays out if anything goes wrong: You perform the upgrade, and immediately discover a problem on your site.Since your website isn’t functioning properly, you quickly “undo” the upgrade, switching the PHP version back to 7.4.You ask your hosting company what happened, and they forward you a report that says something like “module xyz had an array to string conversion error on line a.”Suddenly you’re feeling a little less confident in your technical know-how! You do some intensive googling, or find someone else who can interpret that message and fix the error.You once again “click the button” and make the switch to PHP 8.This time another issue pops up! You fall back to the old PHP version again, and ask your hosting company to provide a report… and around you go again. This cycle repeats until you are satisfied, or until you’re so exhausted you’re ready to get some outside help. You’ll avoid website downtime and wasted resources. You’ve realized you can’t handle the upgrade on your own, so you’re ready to try another approach; you noticed that your hosting company offers to upgrade your website for a flat fee. Here’s the catch you might miss, though: They don’t guarantee your site will actually work after the upgrade! The webhost is basically “just clicking the button” for you — they won’t do a compatibility check on those modules and extensions before plowing ahead. Instead, they’re expecting *you* to check those things, and do whatever is required to ensure your site gets back on its feet after the upgrade happens. Here’s how this plays out: The hosting company will update your website to the latest PHP version. If the site has errors, they’ll disable the specific module that’s causing the problem. This could be a minor inconvenience, like a simple module that converts event times to display in a visitor’s time zone, or it could be a major crisis, like your whole payment processor being disabled. They’ll tell you which modules were disabled, but it’s your responsibility to fix the issues.If you can’t immediately fix the disabled modules, or you can’t live without them even temporarily, the best the hosting company can do is “roll back” the upgrade by restoring your site from a backup version.Once you do find and apply a fix for the problem module(s), you can notify the hosting company and they’ll do the whole upgrade again… for that same “flat fee” again.Better cross your fingers that you found the right fix! Otherwise the whole cycle starts again. By the end of this process, you’ve paid for the “simple” upgrade at least twice, plus you’ve likely paid someone else for help fixing the problem module(s). Not to mention your site’s downtime while reverting to the backup, plus the time and attention you spent stressing about it all! It’s imperative to think first and then take action. When we do PHP 8 upgrades for our nonprofit clients, we avoid these endless cycles and minimize the risks. Here’s how it plays out: We do all our work in a separate “testing” environment first. (This means that all the following steps can happen on a copy of your website, with all its particular modules etc., but without having any impact on your actual “live” site!)We make sure all modules, including custom ones, are themselves up to date with the latest versions, and look to apply any available patches needed. (This minimizes the likelihood of discovering issues after the fact.)Once everything is up to date, we will go ahead and upgrade the PHP version, still in the testing environment. (Time to click the button!)Immediately after upgrading, we put the website through a thorough QA testing process to identify any issues. (This means problems are caught by us instead of you, and certainly instead of any actual website visitors!)If we catch issues in QA, we do the work to resolve them, either through contributed patches or custom ones as needed. (This means you’re not responsible for interpreting error messages or figuring out how to fix incompatible modules.)Only after the website passes all our tests in the separate environment do we deploy the changes to your live site. (Tada! You’re on PHP 8 now, and you didn’t even have to think about it.) Upgrading to PHP 8 is not as simple as pressing a button, but it feels that way… if you have the right partner helping you! Thinking ahead and working diligently to prevent problems before they happen is the key to a successful upgrade. We do not want to see you lose valuable donations, signups, and website visitors. Let us help you. Our budget estimate for PHP upgrades includes all this work to minimize problems while keeping your site functioning as it should. Send a support email or contact us to get some help. Share via: Facebook Twitter LinkedIn