| 1 | |
| 2 | = !MapGuide RFC 156 - Upgrade PHP to 5.6 = |
| 3 | |
| 4 | This page contains a change request (RFC) for the !MapGuide Open Source project. |
| 5 | More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. |
| 6 | |
| 7 | == Status == |
| 8 | |
| 9 | ||RFC Template Version||(1.0)|| |
| 10 | ||Submission Date||11 Jul 2016|| |
| 11 | ||Last Modified||11 Jul 2016|| |
| 12 | ||Author||Jackie Ng|| |
| 13 | ||RFC Status||draft|| |
| 14 | ||Implementation Status||pending|| |
| 15 | ||Proposed Milestone||3.1,3.0.1,2.6.2|| |
| 16 | ||Assigned PSC guide(s)||(when determined)|| |
| 17 | ||'''Voting History'''||(vote date)|| |
| 18 | ||+1|||| |
| 19 | ||+0|||| |
| 20 | ||-0|||| |
| 21 | ||-1|||| |
| 22 | ||no vote|||| |
| 23 | |
| 24 | == Overview == |
| 25 | |
| 26 | This RFC proposes to upgrade PHP to the latest version of the 5.6 series (5.6.23) |
| 27 | |
| 28 | == Motivation == |
| 29 | |
| 30 | MapGuide currently bundles the 5.5 series of PHP. |
| 31 | |
| 32 | 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. |
| 33 | |
| 34 | 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 |
| 35 | 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. |
| 36 | |
| 37 | == Proposed Solution == |
| 38 | |
| 39 | Upgrade PHP to 5.6.23. Windows binaries will be sourced from windows.php.net |
| 40 | |
| 41 | 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. |
| 42 | |
| 43 | == Implications == |
| 44 | |
| 45 | 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. |
| 46 | |
| 47 | We will ensure that all PHP-based Web Tier components (AJAX Viewer, Fusion, PHP admin, etc) will be 5.6 compatible |
| 48 | |
| 49 | == Test Plan == |
| 50 | |
| 51 | Build and run on Windows and Linux. Ensure that components using PHP function as before: |
| 52 | |
| 53 | * The PHP AJAX Viewer |
| 54 | * The PHP backend for Fusion trunk |
| 55 | * The MapGuide Site Administrator |
| 56 | * The Feature Source schema report. |
| 57 | |
| 58 | Verify all tests pass with the existing MapGuide API PHP test runner. |
| 59 | |
| 60 | == Funding / Resources == |
| 61 | |
| 62 | Community |