diff --git a/install.php b/install.php index 08271bdec11296407333694c528d91a131564cf0..2e00d977df9f0db5e40c9558c89dde959d299d87 100644 --- a/install.php +++ b/install.php @@ -258,13 +258,20 @@ 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. + // Load the cache infrastructure using a "fake" cache implementation that + // does not attempt to write to the database. We need this during the initial + // part of the installer because the database is not available yet. We + // continue to use it even when the database does become available, in order + // to preserve consistency between interactive and command-line installations + // (the latter complete in one page request and therefore are forced to + // continue using the cache implementation they started with) and also + // because any data put in the cache during the installer is inherently + // suspect, due to the fact that Drupal is not fully set up yet. 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.