wiki:MapGuideRfc156

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 Date11 Jul 2016
Last Modified13 Jul 2016
AuthorJackie Ng
RFC Statusadopted
Implementation Statuscompleted
Proposed Milestone3.1,3.0.1,2.6.2
Assigned PSC guide(s)(when determined)
Voting History(vote date)
+1Gordon,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

Last modified 8 years ago Last modified on Jul 26, 2016, 10:08:33 AM
Note: See TracWiki for help on using the wiki.