소스 검색

Merge pull request #37853 from nextcloud/fix/37610/composer-caches-to-apcu

add the server roots and version info hash to apcu prefix
Arthur Schiwon 1 년 전
부모
커밋
7db4938701
2개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  1. 4 2
      lib/base.php
  2. 1 3
      lib/private/legacy/OC_Util.php

+ 4 - 2
lib/base.php

@@ -68,7 +68,6 @@ declare(strict_types=1);
 
 use OC\Encryption\HookManager;
 use OC\EventDispatcher\SymfonyAdapter;
-use OC\Files\Filesystem;
 use OC\Share20\Hooks;
 use OCP\EventDispatcher\IEventDispatcher;
 use OCP\Group\Events\UserRemovedEvent;
@@ -115,6 +114,8 @@ class OC {
 
 	public static string $configDir;
 
+	public static int $VERSION_MTIME = 0;
+
 	/**
 	 * requested app
 	 */
@@ -601,7 +602,8 @@ class OC {
 
 		// Add default composer PSR-4 autoloader
 		self::$composerAutoloader = require_once OC::$SERVERROOT . '/lib/composer/autoload.php';
-		self::$composerAutoloader->setApcuPrefix('composer_autoload');
+		OC::$VERSION_MTIME = filemtime(OC::$SERVERROOT . '/version.php');
+		self::$composerAutoloader->setApcuPrefix('composer_autoload_' . md5(OC::$SERVERROOT . '_' . OC::$VERSION_MTIME));
 
 		try {
 			self::initPaths();

+ 1 - 3
lib/private/legacy/OC_Util.php

@@ -65,7 +65,6 @@
  */
 
 use bantu\IniGetWrapper\IniGetWrapper;
-use OC\AppFramework\Http\Request;
 use OC\Files\SetupManager;
 use OCP\Files\Template\ITemplateManager;
 use OCP\IConfig;
@@ -327,10 +326,9 @@ class OC_Util {
 			return;
 		}
 
-		$timestamp = filemtime(OC::$SERVERROOT . '/version.php');
 		require OC::$SERVERROOT . '/version.php';
 		/** @var int $timestamp */
-		self::$versionCache['OC_Version_Timestamp'] = $timestamp;
+		self::$versionCache['OC_Version_Timestamp'] = \OC::$VERSION_MTIME;
 		/** @var string $OC_Version */
 		self::$versionCache['OC_Version'] = $OC_Version;
 		/** @var string $OC_VersionString */