Version 3 (modified by 8 years ago) ( diff ) | ,
---|
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 RFCs page.
Status
RFC Template Version | (1.0) |
Submission Date | 11 Jul 2016 |
Last Modified | 13 Jul 2016 |
Author | Jackie Ng |
RFC Status | adopted |
Implementation Status | completed |
Proposed Milestone | 3.1,3.0.1,2.6.2 |
Assigned PSC guide(s) | (when determined) |
Voting History | (vote date) |
+1 | Gordon,Haris,Trevor |
+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