From eb6637682ec835d9ec50612b59637e8b9ff5f6f6 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Mon, 21 Oct 2013 14:04:07 +0200 Subject: Inject memoryCache into Autoloader. Remove recursion-prevention hack. --- lib/base.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/base.php') diff --git a/lib/base.php b/lib/base.php index ef574b2d895..53ea28b46b4 100644 --- a/lib/base.php +++ b/lib/base.php @@ -371,6 +371,11 @@ class OC { // register autoloader require_once __DIR__ . '/autoloader.php'; self::$loader = new \OC\Autoloader(); + spl_autoload_register(array(self::$loader, 'load')); + try { + self::$loader->setMemoryCache(\OC\Memcache\Factory::createLowLatency('Autoloader')); + } catch(\Exception $ex) { + } self::$loader->registerPrefix('Doctrine\\Common', 'doctrine/common/lib'); self::$loader->registerPrefix('Doctrine\\DBAL', 'doctrine/dbal/lib'); self::$loader->registerPrefix('Symfony\\Component\\Routing', 'symfony/routing'); @@ -378,7 +383,6 @@ class OC { self::$loader->registerPrefix('Sabre\\VObject', '3rdparty'); self::$loader->registerPrefix('Sabre_', '3rdparty'); self::$loader->registerPrefix('Patchwork', '3rdparty'); - spl_autoload_register(array(self::$loader, 'load')); // set some stuff //ob_start(); -- cgit v1.2.3 From f5e2b92688b269f83e401f8e92758e60d92384d2 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Mon, 21 Oct 2013 15:21:37 +0200 Subject: Only use autoloader cache when 'instanceid' is available. --- lib/base.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'lib/base.php') diff --git a/lib/base.php b/lib/base.php index 53ea28b46b4..83417c52a59 100644 --- a/lib/base.php +++ b/lib/base.php @@ -371,11 +371,6 @@ class OC { // register autoloader require_once __DIR__ . '/autoloader.php'; self::$loader = new \OC\Autoloader(); - spl_autoload_register(array(self::$loader, 'load')); - try { - self::$loader->setMemoryCache(\OC\Memcache\Factory::createLowLatency('Autoloader')); - } catch(\Exception $ex) { - } self::$loader->registerPrefix('Doctrine\\Common', 'doctrine/common/lib'); self::$loader->registerPrefix('Doctrine\\DBAL', 'doctrine/dbal/lib'); self::$loader->registerPrefix('Symfony\\Component\\Routing', 'symfony/routing'); @@ -383,6 +378,7 @@ class OC { self::$loader->registerPrefix('Sabre\\VObject', '3rdparty'); self::$loader->registerPrefix('Sabre_', '3rdparty'); self::$loader->registerPrefix('Patchwork', '3rdparty'); + spl_autoload_register(array(self::$loader, 'load')); // set some stuff //ob_start(); @@ -438,6 +434,14 @@ class OC { } self::initPaths(); + if (OC_Config::getValue('instanceid', false)) { + // \OC\Memcache\Cache has a hidden dependency on + // OC_Util::getInstanceId() for namespacing. See #5409. + try { + self::$loader->setMemoryCache(\OC\Memcache\Factory::createLowLatency('Autoloader')); + } catch(\Exception $ex) { + } + } OC_Util::isSetLocaleWorking(); // set debug mode if an xdebug session is active -- cgit v1.2.3