= !MapGuide RFC 156 - Upgrade PHP to 5.6 = This page contains a change request (RFC) for the !MapGuide Open Source project. More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. == Status == ||RFC Template Version||(1.0)|| ||Submission Date||11 Jul 2016|| ||Last Modified||13 Jul 2016|| ||Author||Jackie Ng|| ||RFC Status||ready for review|| ||Implementation Status||pending|| ||Proposed Milestone||3.1,3.0.1,2.6.2|| ||Assigned PSC guide(s)||(when determined)|| ||'''Voting History'''||(vote date)|| ||+1|||| ||+0|||| ||-0|||| ||-1|||| ||no vote|||| == Overview == This RFC proposes to upgrade PHP to the latest version of the 5.6 series (5.6.23) == Motivation == MapGuide currently bundles the 5.5 series of PHP. PHP 5.5 has reached end of life on 10 July 2016. From a security standpoint, we shouldn't be bundling a version of PHP that is end of life. While the jump to PHP 7.0 is too drastic of a change (PHP 7 introduces breaking changes to its Zend extension API and SWIG, whether it's our own heavily modified internal copy or the official version does not generate PHP7-compatible extensions), moving to PHP 5.6 is a more realistic option. PHP 5.6 reaches end of life on '''31 December 2018''' == Proposed Solution == Upgrade PHP to 5.6.23 (the latest 5.6 release as of writing this RFC). Windows binaries will be sourced from windows.php.net As the 3.0 releases and 2.6 releases are also using the same version of PHP, the 3.0 and 2.6 open source branches will also be recipients of this component upgrade. == Implications == MapGuide PHP Developers should take note of any [changes between 5.5 and 5.6](http://php.net/manual/en/migration56.php) when migrating their applications, if required. We will ensure that all PHP-based Web Tier components (AJAX Viewer, Fusion, PHP admin, etc) will be 5.6 compatible == Test Plan == Build and run on Windows and Linux. Ensure that components using PHP function as before: * The PHP AJAX Viewer * The PHP backend for Fusion trunk * The MapGuide Site Administrator * The Feature Source schema report. Verify all tests pass with the existing MapGuide API PHP test runner. == Funding / Resources == Community