The Benefits and Implications of Migrating Away from PHP 5.3.x
Originally released on June 30th 2009, PHP 5.3 became the standard architecture for some of the web’s largest and most successful sites. By 2010, PHP 5.3.x was the most popular version of PHP used across the internet. Compared to the previous versions (PHP 5.2 – released in 2006), PHP 5.3 brought an array of new features and functionality. This included namespace support, native closures, late static binding, native php archives (phar), garbage collection, improved windows support, sqlite3, mysqlind, fileinfo, internalized extensions, deprication of ereg, and much more.
As we roll into the second half of 2014, it’s now been 5 years since the historic release of PHP 5.3. As such, we’re finally approaching the July 2014 end of life date (EOL). Where do we go from here? Luckily, PHP 5.3 was followed up with PHP 5.4 in early 2012 and many web hosts have already implemented the new version. With PHP 5.4 come even more revolutionary features such as register_globals, session_register(), session_unregister(), changes in SAPI modules, changes in ini file handling, and much more. Safe Mode, a popular feature of PHP 5.x.x, was finally removed from PHP with the release of PHP 5.4. Anyone still trying to use Safe Mode in PHP 5.4.x received an E_CORE_ERROR. Similarly, Magic Quotes was also removed with this release.
Along with PHP 5.4, a newer iteration of PHP (5.5) was released almost a year ago (June 2013) with additional functionality including support for generators, blocks for exception handling, native caching (via OpCache – based on Zend Optimizer+) and much more. Additionally, PHP 5.6 has entered development and is expected to roll out very soon. PHP 5.6 adds constant scalar expressions, argument unpacking, better debugging, and exponential operators.
However, PHP 5.6 (currently on 5.6.0beta4) has been met with even more resistance due to major structural changes. Additionally, the long-time planned PHP 6.0 has received a good amount of internet backlash due to the lack of a native Unicode support. With all the discussion of PHP 6 (dating back to 2005), many wonder if “PHP 6” should be renamed completely to avoid any of the confusion created over the past decade about its release. Don’t be surprised if PHP 6 is skipped all together and PHP 5.6 is followed by PHP 7 or something completely different.
As we’re just weeks away from the end of life of PHP 5.3 (with 5.3.28 seeming to be the latest release of the branch), it’s time to ask the all-important question: which new PHP is right for you? Most web hosts have already migrated to PHP 5.4.x. If you’re on a standard hosting plan, your site is probably already running on PHP 5.4.x. The uptake to PHP 5.5 has been slow due to compatibility issues and caching configuration complications. If you’re managing your own server or are a programmer, the new standard that is most important is PHP 5.4.x. However, with an end of life (EOL) of early 2015, it’s important to keep an eye on development with PHP 5.5 and 5.6 and start getting familiar with the new functionality those versions will bring.