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
remotes/origin/log-external-deletes
Lukas Reschke 11 years ago
parent 76c511de92
commit b701bbd8c5
  1. 2
      lib/private/memcache/apcu.php
  2. 4
      settings/admin.php
  3. 15
      settings/templates/admin.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;
}

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

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

Loading…
Cancel
Save