[General] PHP default changes
Monday, July 20th, 2015 - General
It’s been a while since we made a blog post, I’ll see if I can dust this off.
Currently, our servers are running PHP 5.4 by default. The term “by default” means that unless you have made any requested changes to your account’s PHP version, then PHP scripts on your account are parsed through PHP 5.4.
PHP 5.4 will soon reach it’s end of life. This is scheduled to happen on September 14, 2015, a little less than 2 months from now. The term “end of life” means that no more attention will be paid to it. Effectively, this means that if a major bug is discovered in PHP 5.4 after it goes end of life, then it will not be fixed. This makes sense from a developer’s standpoint, because you cannot support something indefinitely.
What does this mean for you?
Technically, end of life’d software shouldn’t be used because of the risk of security bugs being found and not addressed. This is what happened with Microsoft and Windows XP a few a years ago. Windows XP went end of life and users were encourage to upgrade to a new operating system that Microsoft supports. However, in the real world this can be difficult to do (anybody know of anyone that still uses Windows XP?). Our intention isn’t to drop support for PHP 5.4 immediately. I will add the caveat that if a major security issue is discovered in PHP 5.4 after it reaches end of life, then we may have to cut off PHP 5.4 access when/if that happens.
Currently our servers support 4 different versions of PHP:
PHP 5.3 – End of life’d August 2014
PHP 5.4 – End of life pending September 2015
PHP 5.5 – Anticipated End of life July 2016
PHP 5.6 – Anticipated End of life August 2017
(PHP 5.3 is limited because it went end of life in August 2014, access to PHP 5.3 has been cut off for some servers and it is not being reactivated on those servers).
Keeping 4 different versions of PHP is far from ideal. Keeping 1 version is the most ideal, 2 versions is acceptable, 3 versions is tolerable, but 4 versions is just not something we want to do.
What are our plans?
Right now, we are planning to phase out PHP 5.3 completely before the end of August 2015. We would like to switch the default version of PHP to version 5.6 sometime in August 2015. And leave PHP 5.6, PHP 5.5, and PHP 5.4 available as different PHP options for accounts. Support for PHP 5.4 would be phased out by August 2016 or sooner, depending on how adoption of newer PHP versions takes place.
What does this mean for our clients?
Any reputable script or plugin/theme/extension/component is going to stay in tune with PHP’s development. If any reputable script developer is surprised by PHP 5.4’s impending end of life in September 2015, then sadly they are not very good at their job. If they have not made plans to move their script into a working PHP 5.5 or PHP 5.6 environment, then they are not paying attention, and it’s probably a sign that you shouldn’t be using their scripts. Most major script developers, like WordPress, Joomla!, and Drupal have written their code to be compatible, at least with PHP 5.5 if not PHP 5.6. The greater question is, are you using the latest and a supported version of their scripts?
An example might be Joomla! 2.5. I do not know if it is compatible with PHP 5.5 or PHP 5.6, but I know Joomla! 2.5 itself is end of life’d. If you are using Joomla! 2.5, then you are using and depending on an unsupported version of Joomla! You need to be updating to a supported branch (Joomla! 3.4) then if you have problems using PHP 5.5 or PHP 5.6, then that burden falls on the Joomla! developers for not properly maintaining the script.
Bottom Line: Make sure you are using the latest or a supported version of the script on your website.
We will post additional updates on the progress of the PHP changes on our servers through this blog. You can follow the progress through this link.
For reference – PHP supported versions: http://php.net/supported-versions.php
Steven