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
This commit is contained in:
Lukas Reschke 2015-02-16 22:36:08 +01:00
parent 76c511de92
commit b701bbd8c5
3 changed files with 21 additions and 0 deletions

View file

@ -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;
}

View file

@ -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');

View file

@ -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']) {
?>