X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=install%2Findex.php;h=2367eab45b46a1657f2d995e857f3dac92c19be2;hb=1be29aad0dfca44b65ccd9717956ca943c60d28a;hp=41751b624e4c4e16cc2c35d82bb545a1e257f200;hpb=0986e4fecad149b00abc4a10d6de26b208305078;p=civicrm-core.git diff --git a/install/index.php b/install/index.php index 41751b624e..2367eab45b 100644 --- a/install/index.php +++ b/install/index.php @@ -595,12 +595,9 @@ class InstallRequirements { $this->errors = NULL; - // See also: CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER - $this->requirePHPVersion('5.3.4', array( + $this->requirePHPVersion(array( ts("PHP Configuration"), ts("PHP5 installed"), - NULL, - ts("PHP version %1", array(1 => phpversion())), )); // Check that we can identify the root folder successfully @@ -730,6 +727,13 @@ class InstallRequirements { ts("JSON support not included in PHP."), )); + // check for Multibyte support such as mb_substr. Required for proper handling of Multilingual setups. + $this->requireFunction('mb_substr', array( + ts("PHP Configuration"), + ts("Multibyte support"), + ts("Multibyte support not enabled in PHP."), + )); + // Check for xcache_isset and emit warning if exists $this->checkXCache(array( ts("PHP Configuration"), @@ -860,36 +864,30 @@ class InstallRequirements { } /** - * @param $minVersion - * @param $testDetails - * @param null $maxVersion + * @param array $testDetails + * @return bool */ - public function requirePHPVersion($minVersion, $testDetails, $maxVersion = NULL) { + public function requirePHPVersion($testDetails) { $this->testing($testDetails); $phpVersion = phpversion(); - $aboveMinVersion = version_compare($phpVersion, $minVersion) >= 0; - $belowMaxVersion = $maxVersion ? version_compare($phpVersion, $maxVersion) < 0 : TRUE; + $aboveMinVersion = version_compare($phpVersion, CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER) >= 0; - if ($aboveMinVersion && $belowMaxVersion) { - if (version_compare(phpversion(), CRM_Upgrade_Incremental_General::MIN_RECOMMENDED_PHP_VER) < 0) { - $testDetails[2] = ts('This webserver is running an outdated version of PHP (%1). It is strongly recommended to upgrade to PHP %2 or later, as older versions can present a security risk.', array( - 1 => phpversion(), + if ($aboveMinVersion) { + if (version_compare($phpVersion, CRM_Upgrade_Incremental_General::MIN_RECOMMENDED_PHP_VER) < 0) { + $testDetails[2] = ts('This webserver is running an outdated version of PHP (%1). It is strongly recommended to upgrade to PHP %2 or later, as older versions can present a security risk. The preferred version is %3.', array( + 1 => $phpVersion, 2 => CRM_Upgrade_Incremental_General::MIN_RECOMMENDED_PHP_VER, + 3 => CRM_Upgrade_Incremental_General::RECOMMENDED_PHP_VER, )); $this->warning($testDetails); } return TRUE; } - if (!$testDetails[2]) { - if (!$aboveMinVersion) { - $testDetails[2] = ts("You need PHP version %1 or later, only %2 is installed. Please upgrade your server, or ask your web-host to do so.", array(1 => $minVersion, 2 => $phpVersion)); - } - else { - $testDetails[2] = ts("PHP version %1 is not supported. PHP version earlier than %2 is required. You might want to downgrade your server, or ask your web-host to do so.", array(1 => $maxVersion, 2 => $phpVersion)); - } + if (empty($testDetails[2])) { + $testDetails[2] = ts("You need PHP version %1 or later, only %2 is installed. Please upgrade your server, or ask your web-host to do so.", array(1 => CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER, 2 => $phpVersion)); } $this->error($testDetails);