function drupal_install_system in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/includes/install.inc \drupal_install_system()
Installs the system module.
Separated from the installation of other modules so core system functions can be made available while other modules are installed.
Parameters
array $install_state: An array of information about the current installation state. This is used to set the default language.
1 call to drupal_install_system()
- install_base_system in core/
includes/ install.core.inc - Installation task; install the base functionality Drupal needs to bootstrap.
File
- core/
includes/ install.inc, line 605 - API functions for installing modules and themes.
Code
function drupal_install_system($install_state) {
// Remove the service provider of the early installer.
unset($GLOBALS['conf']['container_service_providers']['InstallerServiceProvider']);
$request = \Drupal::request();
// Reboot into a full production environment to continue the installation.
/** @var \Drupal\Core\Installer\InstallerKernel $kernel */
$kernel = \Drupal::service('kernel');
$kernel
->shutdown();
// Have installer rebuild from the disk, rather then building from scratch.
$kernel
->rebuildContainer(FALSE);
$kernel
->prepareLegacyRequest($request);
// Install base system configuration.
\Drupal::service('config.installer')
->installDefaultConfig('core', 'core');
// Install System module and rebuild the newly available routes.
$kernel
->getContainer()
->get('module_installer')
->install(array(
'system',
), FALSE);
\Drupal::service('router.builder')
->rebuild();
// Ensure default language is saved.
if (isset($install_state['parameters']['langcode'])) {
\Drupal::configFactory()
->getEditable('system.site')
->set('langcode', (string) $install_state['parameters']['langcode'])
->set('default_langcode', (string) $install_state['parameters']['langcode'])
->save(TRUE);
}
}