summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/private/util.php20
1 files changed, 13 insertions, 7 deletions
diff --git a/lib/private/util.php b/lib/private/util.php
index f4624cfe964..f8776c2c861 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -671,7 +671,6 @@ class OC_Util {
'PDO::ATTR_DRIVER_NAME' => 'PDO'
),
'ini' => [
- 'mbstring.func_overload' => 0,
'default_charset' => 'UTF-8',
],
);
@@ -685,6 +684,7 @@ class OC_Util {
* approach to check for these values we should re-enable those
* checks.
*/
+ $iniWrapper = \OC::$server->getIniWrapper();
if (!self::runningOnHhvm()) {
foreach ($dependencies['classes'] as $class => $module) {
if (!class_exists($class)) {
@@ -702,7 +702,6 @@ class OC_Util {
}
}
foreach ($dependencies['ini'] as $setting => $expected) {
- $iniWrapper = \OC::$server->getIniWrapper();
if (is_bool($expected)) {
if ($iniWrapper->getBool($setting) !== $expected) {
$invalidIniSettings[] = [$setting, $expected];
@@ -739,13 +738,20 @@ class OC_Util {
$webServerRestart = true;
}
- if (version_compare(phpversion(), '5.4.0', '<')) {
+ /**
+ * The mbstring.func_overload check can only be performed if the mbstring
+ * module is installed as it will return null if the checking setting is
+ * not available and thus a check on the boolean value fails.
+ *
+ * TODO: Should probably be implemented in the above generic dependency
+ * check somehow in the long-term.
+ */
+ if($iniWrapper->getBool('mbstring.func_overload') !== null &&
+ $iniWrapper->getBool('mbstring.func_overload') === true) {
$errors[] = array(
- 'error' => $l->t('PHP %s or higher is required.', '5.4.0'),
- 'hint' => $l->t('Please ask your server administrator to update PHP to the latest version.'
- . ' Your PHP version is no longer supported by ownCloud and the PHP community.')
+ 'error' => $l->t('mbstring.func_overload is set to "%s" instead to the expected value "0"', [$iniWrapper->getString('mbstring.func_overload')]),
+ 'hint' => $l->t('To fix this issue set <code>mbstring.func_overload</code> to <code>0</code> in your php.ini')
);
- $webServerRestart = true;
}
/**