function install_base_system in Drupal 8
Same name and namespace in other branches
- 9 core/includes/install.core.inc \install_base_system()
Installation task; install the base functionality Drupal needs to bootstrap.
Parameters
$install_state: An array of information about the current installation state.
File
- core/
includes/ install.core.inc, line 1091 - API functions for installing Drupal.
Code
function install_base_system(&$install_state) {
// Install system.module.
drupal_install_system($install_state);
// Call HtaccessWriter::ensure() to ensure that all of Drupal's standard
// directories (e.g., the public files directory and config directory) have
// appropriate .htaccess files. These directories will have already been
// created by this point in the installer, since Drupal creates them during
// the install_verify_requirements() task. Note that we cannot call
// file_ensure_access() any earlier than this, since it relies on
// system.module in order to work.
\Drupal::service('file.htaccess_writer')
->ensure();
// Prime the drupal_get_filename() static cache with the user module's
// exact location.
// @todo Remove as part of https://www.drupal.org/node/2186491
drupal_get_filename('module', 'user', 'core/modules/user/user.info.yml');
// Enable the user module so that sessions can be recorded during the
// upcoming bootstrap step.
\Drupal::service('module_installer')
->install([
'user',
], FALSE);
// Save the list of other modules to install for the upcoming tasks.
// State can be set to the database now that system.module is installed.
$modules = $install_state['profile_info']['install'];
\Drupal::state()
->set('install_profile_modules', array_diff($modules, [
'system',
]));
$install_state['base_system_verified'] = TRUE;
}