= !MapGuide RFC 168 - Upgrade Apache, Tomcat and PHP = 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 Dec 2018|| ||Last Modified||12 Jan 2019|| ||Author||Jackie Ng|| ||RFC Status||draft|| ||Implementation Status||implemented|| ||Proposed Milestone||3.1.2|| ||Assigned PSC guide(s)||(when determined)|| ||'''Voting History'''||(vote date)|| ||+1||Jackie,Gordon,Martin,Reno|| ||+0|||| ||-0|||| ||-1|||| ||no vote||Crispin,Haris,Trevor|| **UPDATE 12 Jan 2019**: The PHP team released 5.6.40 on 10th Jan 2019. PHP will be upgraded to this version. == Overview == This RFC proposes to upgrade Apache, Tomcat and PHP to the latest versions: * Apache: 2.4.37 * PHP: ~~5.6.39~~ 5.6.40 * Tomcat: 7.0.92 == Motivation == The 5.6 series of PHP will soon be end-of-life (on 31st Dec 2018) The next major release of MapGuide (3.3) was intended to offer PHP 7.x compatible replacement bindings. However due to reduced developer resources, the originally planned release timeframe for 3.3 has failed to materialize. While bundling a soon to be EOL version of PHP is not a good look, what is also not a good look is potentially long gap until 3.3 is released. As a compromise, the best plan to "tide things over" would be to make another release of MapGuide in the 3.1 series (3.1.2), and bundle it with the latest compatible versions of Apache/PHP/Tomcat with full understanding that the version of PHP we bundle will be end-of-life at the end of this month. == Proposed Solution == Upgrade Apache to 2.4.37. Windows binaries will be sourced from Apache Lounge Upgrade PHP to 5.6.39. Windows binaries will be sourced from windows.php.net. It is expected that this is the last ever release of PHP in the 5.6 series. Upgrade Tomcat to 7.0.92. We are staying on the 7.x series so that our Java installation requirements do not have to change for this release of MapGuide. == Implications == None. These new component updates are all bug fix releases. == Test Plan == Build and run on Windows and Linux. Ensure that components using PHP or Java function as before: * The PHP AJAX Viewer * The Java 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