mirror of
https://github.com/nextcloud/server.git
synced 2026-06-08 16:26:59 -04:00
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>
This commit is contained in:
parent
747d9ef511
commit
603a659a37
2 changed files with 4 additions and 6 deletions
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
Loading…
Reference in a new issue