PHP 7.1 broke my website
Wednesday, February 21st, 2018 - General
We are continuing to slowly push out PHP 7.1 by default on all of our servers (see this post). Some users are experiencing issues with this upgrade.
First of all, I want to point out that PHP 7.1 was released on December 1, 2016 (see the table directly from php.net). That was nearly 15 months ago. So to claim that PHP 7.1 is brand new, is false. It has been around for quite some time and anyone that develops or writes applications in PHP should be aware of this.
Second, we are seeing some rather significant performance gains with PHP 7.1. So it would be to your benefit to insure that your website and scripts can take advantage of PHP 7.1 so that your website can experience the performance gains.
If you are having problems after the server has been upgraded to PHP 7.1, then you fall into one of two categories:
1. You are using an outdated script (or addons/component/extension/plugin/theme/etc) on your website. Keeping your scripts (or addons/component/extension/plugin/theme/etc) up to date is important to insure that your website is patched up from any known security holes. When developers of these scripts or addons find a security hole in their code they will typically fix this and patch it up and release an updated version of the script. But if you are not using that updated version then you are not protected against that security hole. That means that if you have Example CMS version 1.0 installed on your website and a privilege escalation bug is found in Example CMS version 1.0, the developer of Example CMS fixes the security hole and releases Example CMS version 1.1 to fix it, then if you continue to use Example CMS version 1.0 you are still vulnerable to this privilege escalation bug.
Additionally developers release updated versions of their scripts to take advantage of newer technologies. Software goes end of life - we explained some of the end-of-life reasons back in this post from 2013 - and developers have to stay in step with what is current. PHP 5.6 included a lot of functions and methods that were slow, those functions and methods have been completely replaced in PHP 7.1. Developers of scripts and web applications have to be aware of this and change their code accordingly.
Additionally developers release updated versions of their scripts to take advantage of newer technologies. Software goes end of life - we explained some of the end-of-life reasons back in this post from 2013 - and developers have to stay in step with what is current. PHP 5.6 included a lot of functions and methods that were slow, those functions and methods have been completely replaced in PHP 7.1. Developers of scripts and web applications have to be aware of this and change their code accordingly.
2. You are using an abandoned script (or addons/component/extension/plugin/theme/etc) on your website. Keeping your scripts (or addons/component/extension/plugin/theme/etc) up to date is important. But just as important is making sure that you are using reputable scripts (or addons/component/extension/plugin/theme/etc). This is probably a bit more common with script addons rather than core scripts themselves. If the developer of a script or script addon is not going to properly maintain the code in that scripts then it is of no use to you. Sure, you may be using the latest version of Example Script Addon, but if the last version of Example Script Addon was released 5 years ago, then it is not being properly maintained and the developer likely abandoned the project. We see this happening a lot.
Think of all of the security holes that may have been found in Example Script Addon in those 5 years. Those security holes are not being patched. Think of all of the poor coding that exists in that addon. That coding is not being fixed.
So if you are experiencing problems with the PHP 7.1 upgrade and all of your scripts (and addons/component/extension/plugin/theme/etc) are up to date, then you are very likely using an abandoned script or script addon and the developer is no longer concerning themselves with it. You should stop using that script or script addon.
Think of all of the security holes that may have been found in Example Script Addon in those 5 years. Those security holes are not being patched. Think of all of the poor coding that exists in that addon. That coding is not being fixed.
So if you are experiencing problems with the PHP 7.1 upgrade and all of your scripts (and addons/component/extension/plugin/theme/etc) are up to date, then you are very likely using an abandoned script or script addon and the developer is no longer concerning themselves with it. You should stop using that script or script addon.
If you continue to have issues with PHP 7.1 we can switch you back to PHP 5.6, but please understand that this is only a temporary fix. PHP 5.6 support is not going to be around forever. If your the script or script addon you are using on your website is not working with PHP 7.1 then the issue is with the script - it fits into one of the two categories from above. You need to be making arrangements to have the script or script addon updated or switched to support PHP 7.1 so that you will not be caught off guard when PHP 5.6 support is completely removed.
One of the reasons why we are doing this upgrade now is so users can identify if they fall into one of the above categories and can make arrangements to resolve those issues before PHP 5.6 support is completely lost.