diff options
author | Lukas Reschke <lukas@owncloud.com> | 2015-02-16 22:36:08 +0100 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2015-02-17 13:28:02 +0100 |
commit | b701bbd8c5f6051ec0f4bd360473290cf9ebdf71 (patch) | |
tree | c751e985d9c265eb3831419ec0089a6f66e34798 | |
parent | 76c511de92f1b4dc6dcc31ac5ae15ffade29bb18 (diff) | |
download | nextcloud-server-b701bbd8c5f6051ec0f4bd360473290cf9ebdf71.tar.gz nextcloud-server-b701bbd8c5f6051ec0f4bd360473290cf9ebdf71.zip |
Use APCu only if available in version 4.0.6 and higher
APCu before 4.0.6 is unbelievable buggy and tend to segfault the PHP process (i.e. the whole webserver)
This potentially fixes https://github.com/owncloud/core/issues/14175
Requires a backport to stable8
-rw-r--r-- | lib/private/memcache/apcu.php | 2 | ||||
-rw-r--r-- | settings/admin.php | 4 | ||||
-rw-r--r-- | settings/templates/admin.php | 15 |
3 files changed, 21 insertions, 0 deletions
diff --git a/lib/private/memcache/apcu.php b/lib/private/memcache/apcu.php index 7f780f32718..1043690a361 100644 --- a/lib/private/memcache/apcu.php +++ b/lib/private/memcache/apcu.php @@ -14,6 +14,8 @@ class APCu extends APC { return false; } elseif (!ini_get('apc.enable_cli') && \OC::$CLI) { return false; + } elseif (version_compare(phpversion('apc'), '4.0.6') === -1) { + return false; } else { return true; } diff --git a/settings/admin.php b/settings/admin.php index cdbc2700a8d..32e92edb145 100644 --- a/settings/admin.php +++ b/settings/admin.php @@ -85,6 +85,10 @@ $template->assign('databaseOverload', $databaseOverload); // warn if Windows is used $template->assign('WindowsWarning', OC_Util::runningOnWindows()); +// warn if outdated version of APCu is used +$template->assign('ApcuOutdatedWarning', + extension_loaded('apcu') && version_compare(phpversion('apc'), '4.0.6') === -1); + // add hardcoded forms from the template $forms = OC_App::getForms('admin'); $l = OC_L10N::get('settings'); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 363b4741b74..1f7eacd746b 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -143,9 +143,24 @@ if ($_['WindowsWarning']) { </p> </div> + <?php } +// APCU Warning if outdated +if ($_['ApcuOutdatedWarning']) { + ?> + <div class="section"> + <h2><?php p($l->t('APCu below version 4.0.6 installed'));?></h2> + + <p class="securitywarning"> + <?php p($l->t('APCu below version 4.0.6 is installed, for stability and performance reasons we recommend to update to a newer APCu version.')); ?> + </p> + + </div> + +<?php +} // if module fileinfo available? if (!$_['has_fileinfo']) { ?> |