mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-26 16:52:41 +01:00
When "apcu_clear_cache()" exists, prefer it as a cache clear callback over "apc_clear_cache()"
Summary: See PHI36. APCu originally had `apc_` methods, but at some point dropped these and only provides `apcu_` methods. When the `apcu_` method is present, use it. It may not be present for older versions of APCu, so keep the fallback. Test Plan: - With modern APCu, clicked "Purge Caches" in Config > Caches. - Before: fatal on bad `apc_clear_caches` call. - After: Valid cache clear. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D18449
This commit is contained in:
parent
e40c002a6d
commit
df21391b8e
1 changed files with 7 additions and 1 deletions
|
@ -50,9 +50,15 @@ final class PhabricatorDataCacheSpec extends PhabricatorCacheSpec {
|
||||||
->setVersion(phpversion('apcu'));
|
->setVersion(phpversion('apcu'));
|
||||||
|
|
||||||
if (ini_get('apc.enabled')) {
|
if (ini_get('apc.enabled')) {
|
||||||
|
if (function_exists('apcu_clear_cache')) {
|
||||||
|
$clear_callback = 'apcu_clear_cache';
|
||||||
|
} else {
|
||||||
|
$clear_callback = 'apc_clear_cache';
|
||||||
|
}
|
||||||
|
|
||||||
$this
|
$this
|
||||||
->setIsEnabled(true)
|
->setIsEnabled(true)
|
||||||
->setClearCacheCallback('apc_clear_cache');
|
->setClearCacheCallback($clear_callback);
|
||||||
$this->initAPCCommonSpec();
|
$this->initAPCCommonSpec();
|
||||||
} else {
|
} else {
|
||||||
$this->setIsEnabled(false);
|
$this->setIsEnabled(false);
|
||||||
|
|
Loading…
Reference in a new issue