github.com/ddev/ddev@v1.23.2-0.20240519125000-d824ffe36ff3/pkg/ddevapp/drupal/drupal8/settings.ddev.php (about)

     1  <?php
     2  {{ $config := . }}
     3  /**
     4   * @file
     5   * {{ $config.Signature }}: Automatically generated Drupal settings file.
     6   * ddev manages this file and may delete or overwrite the file unless this
     7   * comment is removed.  It is recommended that you leave this file alone.
     8   */
     9  
    10  $host = "{{ $config.DatabaseHost }}";
    11  $port = {{ $config.DatabasePort }};
    12  $driver = "{{ $config.DatabaseDriver }}";
    13  
    14  // If DDEV_PHP_VERSION is not set but IS_DDEV_PROJECT *is*, it means we're running (drush) on the host,
    15  // so use the host-side bind port on docker IP
    16  if (empty(getenv('DDEV_PHP_VERSION') && getenv('IS_DDEV_PROJECT') == 'true')) {
    17    $host = "{{ $config.DockerIP }}";
    18    $port = {{ $config.DBPublishedPort }};
    19  }
    20  
    21  $databases['default']['default']['database'] = "{{ $config.DatabaseName }}";
    22  $databases['default']['default']['username'] = "{{ $config.DatabaseUsername }}";
    23  $databases['default']['default']['password'] = "{{ $config.DatabasePassword }}";
    24  $databases['default']['default']['host'] = $host;
    25  $databases['default']['default']['port'] = $port;
    26  $databases['default']['default']['driver'] = $driver;
    27  
    28  $settings['hash_salt'] = '{{ $config.HashSalt }}';
    29  
    30  // This will prevent Drupal from setting read-only permissions on sites/default.
    31  $settings['skip_permissions_hardening'] = TRUE;
    32  
    33  // This will ensure the site can only be accessed through the intended host
    34  // names. Additional host patterns can be added for custom configurations.
    35  $settings['trusted_host_patterns'] = ['.*'];
    36  
    37  // Don't use Symfony's APCLoader. ddev includes APCu; Composer's APCu loader has
    38  // better performance.
    39  $settings['class_loader_auto_detect'] = FALSE;
    40  
    41  // This specifies the default configuration sync directory.
    42  // For D8 before 8.8.0, we set $config_directories[CONFIG_SYNC_DIRECTORY] if not set
    43  if (version_compare(Drupal::VERSION, "8.8.0", '<') &&
    44    empty($config_directories[CONFIG_SYNC_DIRECTORY])) {
    45    $config_directories[CONFIG_SYNC_DIRECTORY] = 'sites/default/files/sync';
    46  }
    47  // For D8.8/D8.9, set $settings['config_sync_directory'] if neither
    48  // $config_directories nor $settings['config_sync_directory is set
    49  if (version_compare(DRUPAL::VERSION, "8.8.0", '>=') &&
    50    empty($config_directories[CONFIG_SYNC_DIRECTORY]) &&
    51    empty($settings['config_sync_directory'])) {
    52    $settings['config_sync_directory'] = 'sites/default/files/sync';
    53  }
    54  
    55  // Override drupal/swiftmailer default config to use Mailpit
    56  $config['swiftmailer.transport']['transport'] = 'smtp';
    57  $config['swiftmailer.transport']['smtp_host'] = '127.0.0.1';
    58  $config['swiftmailer.transport']['smtp_port'] = '1025';
    59  $config['swiftmailer.transport']['smtp_encryption'] = '0';
    60  
    61  // Enable verbose logging for errors.
    62  // https://www.drupal.org/forum/support/post-installation/2018-07-18/enable-drupal-8-backend-errorlogdebugging-mode
    63  $config['system.logging']['error_level'] = 'verbose';