It’s been several months since we announced that we would be moving towards support for PHP7 for our major hosting platforms. Now we still plan to move that way, however it may be a little bit longer than we originally expected.
In 2005, work began on a project headed by Andrei Zmievski to bring native Unicode support to the language by embedding the International Components for Unicode (ICU) library and internally representing strings as UTF-16. Because this project would lead to major internal and user-affecting changes, it was planned to be the next major PHP version (i.e. version 6) along with a few other features.
By using UTF-16 as default encoding, developers would need to convert the code and all input (e.g. data from requests, database, etc.) from one encoding to UTF-16 and back again. This conversion takes a lot of CPU time, memory (to store the much larger strings), and creates a higher complexity in the implementation due to the increased need to detect the proper encoding for the situation. In light of all of this and the relatively small gain, many contributors became unwilling to use “trunk” as their main development branch and instead either using the stable 5.2/5.3 branches or refusing to do development at all. This shortage of developers led to delays in the project.
In 2009, PHP 5.3 release with many non-Unicode features back-ported from PHP6, most notably namespaces. This became the widely used, stable version of PHP, and in March 2010, the PHP6 project was officially abandoned, and instead PHP 5.4 was prepared containing most remaining non-Unicode features from PHP 6, such as traits and closure re-binding.
After a vote in July of 2014, it was officially decided that the next major release would be called PHP7. The primary reason for even considering the name is the widely-known existence of the previous failed attempt of a new major release, and the existence of numerous books and other resources which already referred to the previous PHP 6. To address potential confusion, there was an RFC (i.e. request for comments) and a vote on whether or not to reuse this name.
Here is a brief summary of the reasons outlined supporting the decision to release the next version as PHP 7:
In the end it was decided to release PHP 7 as the next major version, arguing that the worst case scenario is that they needlessly skipped a version as opposed to the worst case of releasing it as PHP 6 which is widespread confusion in the community.
The feature set for PHP 7 was not yet defined until very recently. Some of the rumored features which were worked on include:
Now that the release date is getting close we have a bit more accurate information. The new features of PHP7 should include:
For more information about the feature and how to prepare for them, see Migrating to PHP7.
PHP 7 was scheduled to be released November 12, 2015, however the community felt that it was not yet ready and is currently still under development.
As soon as we have more information on a release date for our major servers (cPanel, Plesk, etc) we will post an account message in our CSP.