WordPress and PHP7

For the last few months, WordPress Core has been getting ready for the upcoming release of PHP7. PHP7 is bringing a host of improvements to PHP. One of the most notably is substantial performance improvements.Benchmarks of WordPress using PHP7 are showing a 2-3x speed improvement compared to PHP5.6.

The first step towards support for PHP7 was to add PHP7 nightlies to the automated test matrix. For six months, WordPress has been testing every commit against PHP7. This helped us uncover a couple of now fixed issues.

For example, PHP7 deprecates PHP4 style constructors. Therefore, WordPress Core removed them and also added a deprecation notice to all themes and plugins using them to extend core classes. This is done to help ensure that as many themes and plugins as possible are ready for PHP7.

Next, WordPress Core fixed a small number of issues related to the Uniform Variable Syntax changes in PHP7.  Plugin and Theme authors are strongly encouraged to familiarize themselves with this change and all other backwards incompatible changes.

PHP7 is currently targeted for release on November 12, 2015. Coincidentally, this is also the date that WordPress intends to officially fully support PHP7. 😃 While WordPress doesn’t officially support unreleased versions of PHP, you are encouraged to test and report any issues you find with PHP7 before the its official release.  PHP7 builds are available for Ubuntu 14.04 and CentOS 7 (and compatible distros) from php7.zend.com.

Even as WordPress Core continues to expand its support for new versions of PHP, we have no intention of abandoning support for older versions until usage numbers show that the impact on users will be minimal. WordPress will continue to work with hosting providers to encourage them to upgrade their users to a current version of PHP and, when it’s reasonable, we will consider raising our minimum requirements. Regardless, WordPress continues to encourage all users to run the latest and greatest versions of PHP, including PHP7 upon its release.

#php7