Preparing for PHP7 on WordPress Platform

Last modified date

Comments: 0

The WordPress Platform will be upgrading to PHP7 in January 2017.  You will not have to do anything, but we strongly recommend you review your code for PHP7 compatibility.

The WordPress Platform currently uses PHP5.6 and one of the most requested features in recent months has been to upgrade this to PHP7.

PHP7 brings a host of new features, but the principle reason for the excitement is the raft of performance increases. In some cases PHP7 is said to provide up to 25% speed improvement on code execution which is not too shabby! During testing we haven’t seen quite those levels but there is a notable increase in performance.

Since January 2016 the team have been tracking and testing PHP7, monitoring common extensions used by our clients to make sure an equivalent is available and checking on the general compatibility of plugins and themes.

The team set some basic requirements before considering an upgrade to the entire platform.

  • Stability of PHP7
  • Compatibility with WordPress core, plugins and themes
  • Compatibility with extensions

When PHP7 was released, the team simply didn’t consider it production ready.  We were not alone; even within the PHP community there were suggestions that large bugs were outstanding, so a choice was made during the platform beta that when we officially launched at WordCamp London in April 2016, we would be doing so using PHP version 5.6.

During summer 2016 there were significant improvements.  Most PHP5.6 extensions now have have an equivalent in PHP7 with the notable exception of memcached. This was part of the reasoning for the move of our object cache to Redis.

Whilst WordPress core had already worked hard to ensure it was compatible when PHP7 was released, the same was not true for many popular plugins and themes. In January 2016, most containers on the platform would have run into issues with PHP7.  As of December 2016 this number is <5% and even so these are code warnings rather than errors.

If you have had a new container since the start of January it has been running PHP7 ever since it was created.

Today we are pleased to announce that you can upgrade your existing containers to PHP7.

All staging sites have been automatically upgraded to use PHP7, so if you have a staging site, it’s running PHP7 now. If you don’t have a staging site you can enable one by going to your Client Control Panel, selecting the site you wish to use staging on, then opening staging tab and activating the staging site. We have a guide to creating a WordPress staging site in our knowledge base.

You can also find potential issues you might face with upgrading to PHP7 by going to your /statistics/logs/ folder via SSH and looking at the PHP7.log file.  This shows you possible errors and warnings related to the PHP7 upgrade. Just because a warning is here it doesn’t mean your site won’t work; lots of plugins and themes have code designed to work only when on older versions of PHP and these will be flagged by the PHP7 checker.

When you are ready to upgrade your sites to PHP7, go to your client control panel click on the name of the container you wish to upgrade. This will take you to the final warning and a button to push. Once pushed in a couple of minutes PHP7 will be live on your container.

This is a one way trip for the container, and once upgraded to PHP7 you can’t go back to PHP5.6.

Finally on the week of the 20th February, we will be automatically upgrading all containers to PHP7 and from then on the platform will only run PHP7 (until PHP8 comes around!).

If you have any worries or concerns please do get in touch with our support team who will be happy to answer your questions.

Tim Nash

Tim is a well known member of the WordPress community and a regular attendee of our local Manchester WordPress User Group as well as being a co-organiser of the WordPress Leeds user group (the oldest in the country). He is also an established speaker at WordCamps and tech conferences both in the UK and abroad.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment