summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-02-22 20:44:02 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-02-22 20:44:02 +0100
commit0751ee087f90077d311b6168be653cb95dba6370 (patch)
treee203d624718f0d83fae35504105f01d77874b171 /lib
parent61b00ac821a244fe2583a95d9e33891d348c4de8 (diff)
parent9b46e3b3d5f07187f43ebcd8e9babf2304a21fb7 (diff)
downloadnextcloud-server-0751ee087f90077d311b6168be653cb95dba6370.tar.gz
nextcloud-server-0751ee087f90077d311b6168be653cb95dba6370.zip
Merge pull request #14414 from owncloud/add-ini-helper
Add helper to check for `ini` values in `OC_Util::checkServer`
Diffstat (limited to 'lib')
-rw-r--r--lib/private/util.php28
1 files changed, 27 insertions, 1 deletions
diff --git a/lib/private/util.php b/lib/private/util.php
index 1993a7c9a98..c4e137ea48e 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -570,6 +570,7 @@ class OC_Util {
// classes = class_exists
// functions = function_exists
// defined = defined
+ // ini = ini_get
// If the dependency is not found the missing module name is shown to the EndUser
$dependencies = array(
'classes' => array(
@@ -590,9 +591,14 @@ class OC_Util {
),
'defined' => array(
'PDO::ATTR_DRIVER_NAME' => 'PDO'
- )
+ ),
+ 'ini' => [
+ 'mbstring.func_overload' => 0,
+ 'output_buffering' => false,
+ ],
);
$missingDependencies = array();
+ $invalidIniSettings = [];
$moduleHint = $l->t('Please ask your server administrator to install the module.');
foreach ($dependencies['classes'] as $class => $module) {
@@ -610,6 +616,19 @@ class OC_Util {
$missingDependencies[] = $module;
}
}
+ foreach($dependencies['ini'] as $setting => $expected) {
+ $iniWrapper = \OC::$server->getIniWrapper();
+ if(is_bool($expected)) {
+ if($iniWrapper->getBool($setting) !== $expected) {
+ $invalidIniSettings[] = [$setting, $expected];
+ }
+ }
+ if(is_int($expected)) {
+ if($iniWrapper->getNumeric($setting) !== $expected) {
+ $invalidIniSettings[] = [$setting, $expected];
+ }
+ }
+ }
foreach($missingDependencies as $missingDependency) {
$errors[] = array(
@@ -618,6 +637,13 @@ class OC_Util {
);
$webServerRestart = true;
}
+ foreach($invalidIniSettings as $setting) {
+ $errors[] = [
+ 'error' => $l->t('PHP setting "%s" is not set to "%s".', [$setting[0], $setting[1]]),
+ 'hint' => $l->t('Adjusting this setting in php.ini will make ownCloud run again')
+ ];
+ $webServerRestart = true;
+ }
if (version_compare(phpversion(), '5.4.0', '<')) {
$errors[] = array(