1.20.x bootstrap.inc | _backdrop_bootstrap_configuration() |
Sets up the script environment and loads settings.php.
File
- includes/
bootstrap.inc, line 3243 - Functions that need to be loaded on every Backdrop request.
Code
function _backdrop_bootstrap_configuration() {
backdrop_environment_initialize();
// Start a page timer:
timer_start('page');
// Initialize the configuration, including variables from settings.php.
backdrop_settings_initialize();
// Sanitize input from $_GET, $_POST, etc.
_backdrop_bootstrap_sanitize_request();
// Set the Backdrop custom error handler.
set_error_handler('_backdrop_error_handler');
set_exception_handler('_backdrop_exception_handler');
// Load configuration classes and functions.
require_once BACKDROP_ROOT . '/core/includes/config.inc';
// Load the configuration backends
backdrop_load_backends('config');
// Redirect the user to the installation script if Backdrop has not been
// installed yet (i.e., if no $databases array has been defined in the
// settings.php file) and we are not already installing.
if (empty($GLOBALS['databases']) && !backdrop_installation_attempted()) {
include_once BACKDROP_ROOT . '/core/includes/install.inc';
install_goto('core/install.php');
}
// Untrusted host names, throw an exception for the end-user.
if (!defined('MAINTENANCE_MODE') && !backdrop_check_trusted_hosts($_SERVER['HTTP_HOST'])) {
throw new Exception(format_string('The HTTP Host "@hostname" is not white-listed for this site. Check the trusted_host_patterns setting in settings.php.', array('@hostname' => $_SERVER['HTTP_HOST'])));
}
// Check that the config directory is not empty.
if (!defined('MAINTENANCE_MODE') && ($config_storage = config_get_config_storage('active'))) {
if (!($config_storage->exists('system.core') || $config_storage->exists('system.performance'))) {
$directory = config_get_config_directory('active');
throw new Exception("The configuration directory in settings.php is specified as '$directory', but this directory is either empty or missing crucial files. Check that the \$config_directories variable is correct in settings.php.");
}
}
}