PHP is a must-learn language for developers of web applications and APIs. It powers robust, performant, and secure web applications, websites, and more.

PHP is also iterative. It grows and adapts through new versions to fit the needs of consumers. It plays a crucial part in creating modern, scalable web applications. In this collection of resources, we share a glimpse into the ongoing changes in PHP. In doing so, we look at how changes are made, and track the evolution of the language through PHP versions.

Ongoing Changes in PHP

Put simply, advancements in PHP typically follow three categories:

  1. Performance improvements – Web applications need increasingly fast response times to keep users happy.
  2. Security improvements – Ensuring that user data is safe, and that applications are compliant with current security and encryption standards.
  3. Feature and usability improvements – Helping to realize the latest development trends and technologies while improving the overall development experience.

Those categories, as we discuss below, are crucial to keeping PHP the language of choice in modern development.

But before we dive in on those ongoing improvements, let’s look at the mysterious process that drives PHP forward – the RFC process!

The PHP RFC Process

In PHP, new features find their way into the language via proposals submitted as "Requests for Comments" or RFCs. The RFC allows developers to submit suggestions for features, performance improvements, and other changes, then discuss them within the highly-involved PHP community.

The process starts with a warning, “If you don't have the skills to fully implement your RFC and no one volunteers to code it, there is little chance your RFC will be successful.” For those brave enough to venture forward with their proposal, the next step is to email the internal discussion list with who will implement the idea, and “whether the proposal is only a ‘concept’”.

The proposal is then discussed (if not discussed, it’s essentially dead on arrival). If feedback is positive (or not negative, as the how-to doc states) users are then free to create an RFC (as long as they have the requisite RFC karma).

Then, once the RFC is ready, the author changes the status to under discussion and sends an email to the internals list introducing the RFC.

There, once questions about the proposal have been addressed, and two weeks have elapsed, the proposal can be brought to a vote. The vote can result in the inclusion of the fully-developed change proposal, outright rejection of the proposed change, or a recommendation to go back to the review and discussion process. Some proposals may implement multiple votes, such as when there are two alternate ideas within the proposal without a clear front-runner.

The RFC process also ensures that there is ample discussion and consideration for new features and their potential consequences. The PHP community within the RFC process will consider the performance impact, backwards compatibility, implementation consistency, and other factors for each new proposed feature.

While the process may seem convoluted and borderline bureaucratic, the constant improvements and features make the process emphatically worthwhile and help to keep the language true to the vision of those who work with it most.

New Features and Usability Improvements

As we mentioned earlier, the RFC process drives many types of improvements. And, while new features and usability improvements may not cause droves of developers to adopt a particular PHP version over another, these incremental improvements do help to keep developers using the language in the long term.

Without a constant stream of new features, developers wouldn’t be able to leverage the big ideas and technologies in the greater development umbrella – think CI/CD, microservices, serverless, etc.

Performance Improvements

A hugely important point of improvement for PHP versions lies in the advancements in PHP performance. As we mentioned earlier, in order to stay competitive, or even relevant, applications and websites must deliver a fast and reliable experience while providing their requisite functionality. More, they often need to provide that fast and reliable experience at scale, and do it with as little overhead as possible.

Luckily, performance improvements in PHP are almost constant between versions, with even “minor” versions like PHP 7.3 giving double digit performance improvements in popular PHP-based web content management systems.

Security Improvements

As PHP changes and improves through new PHP versions, so grow vulnerabilities. Because PHP is often used in customer-facing, publicly-accessible applications, the attack surface for many applications can be substantial. To cope with that, PHP, and the varying security and encryption standards that help to protect client and application data, are constantly in flux.

Shoring up these vulnerabilities is a constant process, with patches and hotfixes for all current LTS versions being issued regularly between “minor” versions.

PHP security improvements also come in the form of an improved ability to work with the various security and encryption standards, and show a constant effort to reduce the pain felt when upgrading PHP versions.

Historic PHP Versions

PHP, of course, has been improving and adapting since it was conceived in 1994. While we won’t be looking too closely at the early history of PHP, we will be providing links to a number of great resources on PHP 5.x and PHP 7.x versions. After that, we’ll discuss the upcoming (at the time of this writing) PHP 8.x.

The table below gives the release dates and support end of life dates for PHP versions. We didn't include the 4.x versions in this version, but you can see the full list of releases and end of support dates here.

 

PHP VersionRelease DateSupport EOL
1.08 June 1995 
2.01 November 1997 
3.06 June 199820 October 2000
4.022 May 200023 June 2001
5.013 July 20045 September 2005
5.124 November 200524 August 2006
5.22 November 20066 January 2011
5.330 June 200914 August 2014
5.41 March 20123 September 2015
5.520 June 201310 July 2016
5.628 August 201431 December 2018
7.03 December 20153 December 2018
7.11 December 20161 December 2019
7.230 November 201730 November 2020
7.328 November 20196 December 2021
7.428 August 201428 November 2022
8.0(Planned) November 26, 2020(Planned) November 26, 2023

PHP 5.x

Powered by Zend Engine II, PHP 5 introduced a variety of new features, and offered substantial performance improvements for PHP applications.

More importantly, PHP 5 provided a comprehensive object model – complete with first class objects, interfaces, and exceptions. Though it had appeared rudim , set the foundation for modern enterprise PHP development.

Confusingly, PHP 5.3 and PHP 5.4 brought in changes slated for the ill-fated PHP 6 release. The history of the PHP 6 is well-documented, but at it’s heart, it was centered around the well-intentioned, but ultimately failed, attempt at providing Unicode support at the language level. Because of difficulties in implementation, PHP 5.6 was the predecessor to PHP 7.

The resources below represent some of our work in discussing the features and benefits that came with PHP 5.x versions at the time. They also look at the modern reality for these EOL versions, and how migrating to supported versions can help with performance.

Get Help Migrating From PHP 5.x Versions

Need help migrating your PHP application? Our PHP experts can help!

Learn More

PHP 7.x

As mentioned above, PHP 7 followed on the heels of PHP 5.6 after an unsuccessful effort to incorporate Unicode support.

Though chronologically confusing, PHP 7 and PHP 7.x versions brought enormous improvements in PHP engine performance. It also introduced a variety of new, impactful features that made it quickly adopted.

The resources below cover the major PHP 7.x releases, and look at the individual features and improvements of note.

Get LTS for Applications on EOL PHP

Did you know Zend offers tested and secure runtimes for EOL PHP versions? 

Learn More

Want to see a breakdown of PHP 7.4 from our PHP experts? This webinar is worth a watch

Upcoming PHP Versions

At the time of publication, the next PHP version due for release is PHP 8. This latest version marks the next big advancement in PHP, and is slated to include the long-awaited implementation of JIT compilation.

PHP 8

PHP 8 is set for release on November 26th, 2020. As mentioned above, the banner feature for this realease is the JIT compiler. While JIT compiling won’t bring significant improvements on its own, it will allow new features in PHP to be specific to PHP, and not reliant on C.

The addition of JIT compiling also adds the potential for PHP to be used outside the confines of what we typically consider PHP development arenas, and more in league with general-purpose languages like Java or C#.

Additional Resources

Whether you’re just getting your feet wet with PHP, or you’re diving in on PHP migration, these resources can help make your voyage easier.