diff --git a/includes/cache-install.inc b/includes/cache-install.inc index f342019f782ee33780e5af8abdcbf74b96c5da34..3ab41410d16ad8ec3fe07d72a1cca5034a5ccb23 100644 --- a/includes/cache-install.inc +++ b/includes/cache-install.inc @@ -10,19 +10,23 @@ * implementation during normal operations would have a negative impact * on performance. */ +class DrupalFakeCache implements DrupalCacheInterface { + function __construct($bin) { + } -function cache_get($key, $table = 'cache') { - return FALSE; -} + function get($cid) { + return FALSE; + } -function cache_get_multiple(array &$cids, $bin = 'cache') { - return array(); -} + function getMultiple(&$cids) { + return array(); + } -function cache_set($cid, $data, $table = 'cache', $expire = CACHE_PERMANENT, $headers = NULL) { - return; -} -function cache_clear_all($cid = NULL, $table = NULL, $wildcard = FALSE) { - return; + function set($cid, $data, $expire = CACHE_PERMANENT, array $headers = NULL) { + } + + function clear($cid = NULL, $wildcard = FALSE) { + } + } diff --git a/install.php b/install.php index a49817b3885d0bd70e163ea15e240d7b321f1e13..a52f9da1cdad8464d3ffedf5a02a5f88e5562542 100644 --- a/install.php +++ b/install.php @@ -257,6 +257,13 @@ function install_begin_request(&$install_state) { drupal_load('module', 'filter'); drupal_load('module', 'user'); + // Load the cache infrastructure with the Fake Cache. Switch to the database cache + // later if possible. + require_once DRUPAL_ROOT . '/includes/cache.inc'; + require_once DRUPAL_ROOT . '/includes/cache-install.inc'; + $conf['cache_inc'] = 'includes/cache.inc'; + $conf['cache_default_class'] = 'DrupalFakeCache'; + // Prepare for themed output, if necessary. We need to run this at the // beginning of the page request to avoid a different theme accidentally // getting set. @@ -271,8 +278,7 @@ function install_begin_request(&$install_state) { // Since we have a database connection, we use the normal cache system. // This is important, as the installer calls into the Drupal system for // the clean URL checks, so we should maintain the cache properly. - require_once DRUPAL_ROOT . '/includes/cache.inc'; - $conf['cache_inc'] = 'includes/cache.inc'; + unset($conf['cache_default_class']); // Initialize the database system. Note that the connection // won't be initialized until it is actually requested. @@ -282,13 +288,6 @@ function install_begin_request(&$install_state) { $task = install_verify_completed_task(); } else { - // Since no persistent storage is available yet, and functions that check - // for cached data will fail, we temporarily replace the normal cache - // system with a stubbed-out version that short-circuits the actual - // caching process and avoids any errors. - require_once DRUPAL_ROOT . '/includes/cache-install.inc'; - $conf['cache_inc'] = 'includes/cache-install.inc'; - $task = NULL; // Since previous versions of Drupal stored database connection information