It’s that time of the year. The Holidays…. a bit of a break from the regular day to day, time with friends and family, or simply decompressing and focusing on life more than work, and bringing in the new year. The last 2 months of the year are when most companies implement a code freeze and put off major work so everyone can take a bit of a step back and relax.
But there’s one last thing to deal with before all the fun and festivities: PHP Versions! The maintainers of PHP publish a version schedule that tends to place end of life dates around November-December each year; the outgoing version stops receiving security updates, and really the best move to make is simply transition to a version that still has some shelf life left on it instead of taking the risk of running an outdated release of PHP at a time you’re most likely planning to be not looking at work very much.
Enter Top Themes. We thought of this and we’re making this transition as easy as can be so you can properly wind down at the end of the year, but we want you to know what’s happening and give you the opportunity to perform the upgrade at your own pace.
Back in February of this year, we introduced PHP 8 Support and Version Selectors for our VPS customers. This feature improved the management capabilities of PHP for our customers, enabling per-app version preferences and more timely access to the latest versions. It was a great feature to add to our platform; the reception from customers has only been positive.
As part of transitioning our fleet to the new system, at that time we configured all existing apps to use the “Sunset” version preference, which we had set to be 7.3. That version is reaching full end of life on December 6, 2021 (no more security updates), so naturally the “Sunset” version will be changing to be 7.4.
Our data shows that a healthy portion of sites have already switched to the “Stable” version preference (currently 7.4). But many sites are still set to “Sunset” (currently 7.3). The “Sunset” version preference will remain in place — but it will be moving to 7.4 as we phase out support for 7.3.
With that being said, we would like to see more customers make the switch to the “Stable” version on their own, in order to make these rolling changes over time more logical and give you more breathing room between releases. We are preparing to set BOTH “Stable” and “Sunset” to PHP 7.4 in December, then in Q1 of 2022 we will be changing the “Stable” version to PHP 8.0. Coinciding with that, the “Latest” version preference will become PHP 8.1.
On November 17, 2021 (it’s a Wednesday), we will set the “Sunset” version of PHP to 7.4 as an early smoketest. This way, if there are any issues there is still a chance to switch back to 7.3 while it’s still a supportable version. Depending on how this goes, we may leave “Sunset” on 7.4 or roll that back to 7.3. With that said, we recommend you make the switch before November 17, 2021.
Beginning December 6, 2021, we will make the following changes to what “Sunset”, “Stable”, and “Latest” map to:
- PHP 7.3 “Sunset” will reach full end of life (going away)
- PHP 7.4 “Stable” will remain “Stable”, and “Sunset” will become 7.4 as well, for now.
- PHP 8.0 “Latest” will remain as “Latest”, for now.
We feel this is a safe middle-ground “for now” — We will have PHP 7.4 set as the version for both “Sunset” and “Stable” — since we don’t want to cause more changes than necessary for sites already set to the “Stable” version preference going into the holiday season. This is more about preventing a change from 7.4 to 8.0 for the folks already using “Stable”, while also getting off of 7.3 in the process with minimal effort on your part. Since 7.4 still has a year of security updates left, this change buys everyone time.
What we would like our customers to do — As soon as is convenient to you, simply log in to Atomic and navigate to your app, go to the “PHP Version” selector and change your preference from “Sunset” to “Stable”. This will switch your app to use PHP 7.4 right away and set you on course for PHP 8.0 when we change “Stable” to 8.0 in the first quarter of next year (tentatively February 28, 2022)
Compatibility — PHP 7.4 is not a huge jump in terms of compatibility with 7.3. Full documentation about compatibility when migrating from 7.3 is available on php.net (the vast majority of WordPress plugins, as well as WP Core itself, already have compatibility updates for 7.4). It’s worth noting that PHP 7.3 has not gotten any updates beyond security patches for about 10 months now, meanwhile 7.4 has been getting bug fixes and performance updates, in addition to security patches. We’ve seen sites perform better and encounter fewer “weird” issues after upgrading from 7.3 to 7.4. It’s a pretty safe upgrade, but our team is ready to help if you need to stand up a staging copy of your site for testing first.
If you don’t make this change on your own — We will be changing the “Sunset” version of PHP to 7.4 anyway in December, then your apps will begin using 7.4 instead of 7.3 if they are set to “Sunset” currently. We will not change your version preference to “Stable” if you are currently set to “Sunset”, we will just be changing the version that “Sunset” maps to (7.4 instead of 7.3).
What happens in Q1 2022 — We will be changing the versions that “Stable” and “Latest” map to, to 8.0 and 8.1, respectively. The “Sunset” version will remain as 7.4 at that time, and you’ll get to keep that until November 28, 2022, the date when PHP 7.4 reaches full end of life. We have a tentative date for this change set to February 28, 2022, although that may change slightly. We’ll have another blog post when that time comes, similar to this post, to confirm the game plan at that time.
What happens if you “locked” your PHP version to 7.3 — We will be changing the “lock” to 7.4, as 7.3 will no longer be supportable. We strongly recommend that you review your site code if you are locked to 7.3, to make sure that your code will be compatible with 7.4. We also recommend disabling the version lock and sticking to the overall version preferences of “Stable” or “Latest”, so that you can be included in the rolling updates over time without needing to change the setting every now and then.
Thank you for reading this and please don’t hesitate to contact our Support Team with any questions or if you need a helping hand — we’re here 24/7.