diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2023-09-08 16:40:48 +0200 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2023-09-08 16:55:39 +0200 |
commit | 603a659a37cdbb63627766362736127978a92ade (patch) | |
tree | 91ed9ddc750ba3c8eb6bce13be0cf067a8999d23 /lib | |
parent | 747d9ef511165aea79a95d736fb53f385933e80b (diff) | |
download | nextcloud-server-603a659a37cdbb63627766362736127978a92ade.tar.gz nextcloud-server-603a659a37cdbb63627766362736127978a92ade.zip |
fix(autoloader): no apcu no side effects
apcu lead to side effects especially with app management and (soft)
inter-dependencies, and lead also to 500 server errors. While we could
add management to clear apcu cache in many cases (may stil leave edge
cases) the performance benefit is marginally as also class maps are
already cached in opcache. Hence, the simple and effective way to go is
to not use apcu for autoloading.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/base.php | 7 | ||||
-rw-r--r-- | lib/private/legacy/OC_Util.php | 3 |
2 files changed, 4 insertions, 6 deletions
diff --git a/lib/base.php b/lib/base.php index d96f91ddcd4..26e88979a48 100644 --- a/lib/base.php +++ b/lib/base.php @@ -114,8 +114,6 @@ class OC { public static string $configDir; - public static int $VERSION_MTIME = 0; - /** * requested app */ @@ -610,10 +608,9 @@ class OC { self::$CLI = (php_sapi_name() == 'cli'); - // Add default composer PSR-4 autoloader + // Add default composer PSR-4 autoloader, ensure apcu to be disabled self::$composerAutoloader = require_once OC::$SERVERROOT . '/lib/composer/autoload.php'; - OC::$VERSION_MTIME = filemtime(OC::$SERVERROOT . '/version.php'); - self::$composerAutoloader->setApcuPrefix('composer_autoload_' . md5(OC::$SERVERROOT . '_' . OC::$VERSION_MTIME)); + self::$composerAutoloader->setApcuPrefix(null); try { self::initPaths(); diff --git a/lib/private/legacy/OC_Util.php b/lib/private/legacy/OC_Util.php index 9d62c46137e..f82ddcc78ee 100644 --- a/lib/private/legacy/OC_Util.php +++ b/lib/private/legacy/OC_Util.php @@ -325,9 +325,10 @@ class OC_Util { return; } + $timestamp = filemtime(OC::$SERVERROOT . '/version.php'); require OC::$SERVERROOT . '/version.php'; /** @var int $timestamp */ - self::$versionCache['OC_Version_Timestamp'] = \OC::$VERSION_MTIME; + self::$versionCache['OC_Version_Timestamp'] = $timestamp; /** @var string $OC_Version */ self::$versionCache['OC_Version'] = $OC_Version; /** @var string $OC_VersionString */ |