For our clients, the rub is that some applications refuse to “play nice” with the most current stable release. Although older software can solve compatibility issues, it’s critical to know the bare minimum standard and choose accordingly. While older software can be useful, it can also expose you to security vulnerabilities and performance deal-breakers.
Technology changes fast, sometimes frustratingly so. PHP is no exception. Like all software, PHP generally deploys new versions more quickly than some software developers are ready to support them. If you’re a Nexcess client, we offer the flexibility of changing PHP versions at will, which allows you to take advantage of newer PHP releases as they become compatible with your other applications. See the “Change Versions Without Hassle” section for details.
Looking for more ways to speed up your site? Here are simple optimizations to increase page speed.
A Brief History of PHP
Initially launched in 2005, PHP version 5 is already well past its prime. Subsequent releases offered incremental performance improvements, and version 5.6 (August 2014) is currently the only supported version. Both it and the newer PHP 7.0 will reach end-of-life (EOL) at year’s end, but more on this later.
PHP 7.0 saw release in December 2015, delivering fundamental changes and improvements to the PHP interpreter. PHP reported a 50 percent speed increase over the version 5.6. Other enhancements included significantly reduced memory usage, improved exception handling, consistent 64-bit support for modern operating systems, and the removal of many old and unsupported SAPIs and extensions.
Following the success of PHP 7.0, 7.1 and 7.2 were released in 2016 and 2017, respectively. As with previous releases, each one further increased performance. As time of publication, PHP 7.3 is in beta release and expected to be available as a stable release in late 2018.
Stay Current to Stay Healthy
Each new version of PHP offers multiple benefits over its predecessor.
Improved Performance. PHP 7 is at least twice as fast as PHP 5.6 for most applications. This has been proven in numerous benchmarks and white papers, and switching your site to PHP 7 usually doesn’t require modifications to your code.
PHP 7 also has a smaller memory footprint, which means more available memory, better performance, and more concurrent visitors on your website – all on the same hardware.
Even if your site is incompatible with PHP 7.0 or later, even moving a very old version of PHP 5 to PHP 5.6 will grant noticeable performance benefits.
Security. At the time of writing, PHP 5.5 and older are considered end-of-life. They have no further active development, and no one is working to patch critical vulnerabilities. If your website is running PHP 5.5 or earlier, you are exceptionally vulnerable to attack, and this exposure will only grow over time.
PHP 5.6 and 7.0 are currently in a security-support-only state. This state contains no active development but still benefits from patches for newly found vulnerabilities. It is important to note that both PHP 5.6 and 7.0 will be also becoming end of life at the end of this year.
PHP 7.1 and 7.2 are both in active development, with 7.2 being the most recent stable release. PHP 7.2 will will be both supported and patched until November of 2020.
Modern Software Compatibility. While most older applications written for PHP 5 can be moved to PHP 7.X without issue, newer applications tend to require at least PHP 7.0. If your site requires PHP 5, you’re missing out on features and extensions written exclusively for PHP 7, often compounding the issues of poor performance and compatibility.
Look Before You Leap
In many cases, changing your site from PHP 5 to PHP 7 will be seamless. However, older software that relies on functions deprecated between version 5 and 7 will cease to function properly after the change.
Before changing your PHP version, check the software creator’s website for a list of compatible PHP versions. In some cases, additional patches are available to make a given piece of software compatible with a newer PHP version.
At the time of publication, most modern releases support PHP 7.0 and 7.1. With PHP 7.2 being the newest stable release, some applications have yet to achieve full compatibility.
Change Versions Without Hassle
Our hosting plans have multiple PHP versions installed and available, including PHP 5.6, 7.0, 7.1, and 7.2. In addition, existing Classic (non-Cloud) plans also have PHP 5.3, 5.4, and 5.5 available for legacy reasons.
If you’re a Nexcess client, you can change your environment’s PHP version at will through your Client Portal. As stated above, this change is not entirely without risk. This is why we require our clients to manually change their PHP version, rather than perform such changes on their behalf.
- For Nexcess Classic (non-Cloud) plans, see How to change PHP versions in SiteWorx
- For Nexcess Cloud plans: see How to change PHP versions in Nexcess Cloud
We strongly advise against the use of anything below PHP 5.6. It is no coincidence PHP 5.6 is the minimum supported version on our Nexcess Cloud plans, and all newly created accounts are automatically set to PHP 7.1, which serves as a solid compromise between modern compatibility and security. When newer PHP versions become available and more widely compatible, we will bump the default version higher.
The Road Ahead
We recommend all clients check their current PHP version by using one of the two methods provided in the “Changing Versions Without Hassle” section. If you’re not already running at least version 7.1, we strongly encourage you to explore the feasibility of upgrading to it. If your software does not support 7.1, upgrading EOL versions to 5.6 will still be beneficial. If you have compatibility concerns, feel free to contact our Support team at email@example.com or through your Client Portal.
We also are developing a plan to identify and assist clients that remain unaware they’re running an EOL PHP version. In the near future, we will begin upgrading clients those versions to at least version 5.6. This plan will test sites for compatibility before placing that site into an update queue, and we will communicate with these clients throughout the entire process. We will provide further details as they become available.
Brad Boegler is director of system operations at Nexcess. With over a decade in systems administration, he oversees our internal systems and was the author of The Definitive Guide to Optimizing Magento 2.Posted in: News Releases