(drupal#79) Fail more gracefully when attempting to install on PHP 5.x
Before ------ If an admin stracts the code and navigates to `/sites/all/modules/civicrm/install/index.php`, it displays a syntax error. After ----- If an admin stracts the code and navigates to `/sites/all/modules/civicrm/install/index.php`, it displays the message: > __PHP Version Requirement__ > CiviCRM requires PHP 7.0+. The web server is running PHP 5.6.38. Comments -------- This is similar to https://github.com/civicrm/civicrm-drupal/pull/583 The canonical representation of the minimum PHP version is in `$civicrm_root/CRM/Upgrade/Form.php`. However, setting up the classloader triggers a syntax error, so we need to read this without having access to the classloader. The approach herein has a few effects: * The minimum PHP can be read from a JSON file. * That JSON file is also used by `composer`, so you'll also get better errors when downloading that way. * At some unknown point, the minimum will probably bump up again (7.1 or 7.2 or whatever). When that happens, the unit-test will ensure we keep `CRM/Upgrade/Form.php` and `composer.json` in sync. Note: I was little concerned that the `composer.json` file might not be available when normal installers run, so I checked the published tarballs for D7, BD, WP, and J - in all cases, the `composer.json` looks to be included at the expected location.
Showing with 33 additions and 0 deletions