PHP 4 End of Life

For any PHP'ers who might have been asleep for the past week, it is official… The PHP4 End of Life has been announced:

Today it is exactly three years ago since PHP 5 has been released. In those three years it has seen many improvements over PHP 4. PHP 5 is fast, stable & production-ready and as PHP 6 is on the way, PHP 4 will be discontinued.

The PHP development team hereby announces that support for PHP 4 will continue until the end of this year only. After 2007-12-31 there will be no more releases of PHP 4.4. We will continue to make critical security fixes available on a case-by-case basis until 2008-08-08. Please use the rest of this year to make your application suitable to run on PHP 5

Honestly, it's not a surprise at all. As noted, PHP5 has been out for 3 years now, all of the authors have moved on, the bulk of the innovation is happening in PHP5/6, and most of the books and presentations have moved onto PHP5 long ago. But here's the thing that concerns me… when you combine this decision with the research by Damien Seguy, the numbers are disconcerting at best.

PHP Versions - 4 vs 5

The primary example is this graph (click for full size). It shows that as of last month, PHP5 was only running about 20% of the servers out there. Therefore this move is leaving upwards of 80% of the PHP community behind.

After digging into this a bit further, you'll also see that upwards of 50% of the servers still on PHP4 are using something prior to 4.4.

Stop and think about that. According to the PHP4 Changelogs, the last 4.3 release was in March 2005. Therefore half of the people affected by this change haven't updated their PHP installation in over two years, potentially longer.

Unfortuntely, sometimes making progress requires you to leave some people behind.

One of other efforts happening behind the scenes is a bit quieter but likely to have a bigger impact. There is a movement within a few major Open Source projects to take a similar route and leave PHP4 behind. I've witnessed and been involved in a number of these discussions and although I won't release those results here, the distribution is quite interesting. Some projects would like to keep backwards compatibility and minimum requirements incredibly low and see this as one of their "selling" points. Some projects would like to keep backwards compatibility but aren't making it a priority. Other projects are purposely ending PHP4 compatibility to take advantage of things like SimpleXML, etc.

If your applications are not PHP5 compatible, it's time to get on it. Luckily, the PHP community is not leaving you completely behind and has a detailed migration guide covering the main points.