Change record status: 
Project: 
Introduced in branch: 
8.0.x
Introduced in version: 
8.0.0-beta4
Description: 

install_begin_request() needs access to the class loader. Previously this was achieved by requireing core/vendor/autoload.php. This made it impossible to install Drupal with different classloaders, for example when using Drupal and Drush within the same Composer project and running drush site-install.

To allow for a different autoloader, install.php now passes the class loader down into install_drupal(). Consequently, install_drupal() and install_begin_request() now require to pass in a class loader.

// Drupal 7 and Drupal 8 up to beta 3
install_drupal($settings);
install_begin_request($install_state);

// Drupal 8
// $class_loader can be obtained by the following from a script
// in the Drupal root directory...
$class_loader = require __DIR__ . '/core/vendor/autoload.php';
// ... or when using a Composer to pull in Drupal:
$class_loader = require __DIR__ . '/vendor/autoload.php';
install_drupal($class_loader, $settings);
install_begin_request($class_loader, $install_state);

Note that install_begin_request() generally does not need to be called from the outside.

Impacts: 
Module developers