Вы, вероятно, (как и я) пытаетесь импортировать все экспортированные конфигурации из какого-либо существующего сайта (отсюда далее именуемого example.com
) в ваш локальный (localhost/PROJECT_NAME
) по причинам разработки, но это в настоящее время (средний2019) не поддерживается напрямую, и вам придется сначала импортировать базу данных, подробнее см. Ниже.
Шаги:
- Экспорт и загрузка базы данных с существующего сайта (например,
example.com/admin/config/development/backup_migrate
). - Убедитесь, что у вас достаточно оперативной памяти (возможно, закройте некоторые программы).
- Создайте локальную базу данных (
DATABASE_NAME
) и импортируйте ранее экспортированную базу данных, используя PhpMyAdmin
(или что-то в этом роде, например http://localhost/phpmyadmin/). - Убедитесь, что файл
settings.local.php
существует (в каталоге ./sites/default/settings
), а когда его нет, создайте и настройте его, например, как:
<?php
$databases['default']['default'] = [
'database' => 'DATABASE_NAME',
'username' => 'root',
'password' => '',
'prefix' => '',
// 'collation' => 'utf8mb4_general_ci',
'host' => '127.0.0.1',
'port' => '3306',
'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
'driver' => 'mysql',
];
$settings['drupal_env'] = 'dev';
// Location of the site configuration files:
// (Path used by "drush config-export" command)
# $config_directories['sync'] = '../config/d8_sync';
Убедитесь, что файл
settings.php
существует (в каталоге
./sites/default
) и что он включает в себя вышеупомянутый файл
settings.local.php
(будет прикреплен файл по умолчанию
settings.php
). Перейти к
localhost/PROJECT_NAME/core/install.php?rewrite=ok&langcode=en&profile=standard&continue=1
ссылка(просто чтобы убедиться, что он показывает, что Drupal уже установлен). Запустите
drush cr
(теперь он должен работать и очистить кеш).
settings.php
файл:
Это мой settings.php
файл по умолчанию, который должен включать settings.local.php
(если он существует).
// Salt for one-time login links, cancel links, form tokens, etc:
$settings['hash_salt'] = 'Dxl656Ddme9FyAvn0y02nrnbETVxVnHZwBLilbjSkQLH0-DHqQd2BZL8yPoM0lRCNKRx7_yqVA';
// Deployment identifier:
# $settings['deployment_identifier'] = \Drupal::VERSION;
// Access control for update.php script:
$settings['update_free_access'] = FALSE;
// External access proxy settings:
# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080';
# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080';
# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost'];
// Reverse Proxy Configuration:
# $settings['reverse_proxy'] = TRUE;
/**
* Specify every reverse proxy IP address in your environment.
* This setting is required if $settings['reverse_proxy'] is TRUE.
*/
# $settings['reverse_proxy_addresses'] = ['a.b.c.d', ...];
// Reverse proxy trusted headers:
# $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_ALL | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED;
// Page caching:
# $settings['omit_vary_cookie'] = TRUE;
// Cache TTL for client error (4xx) responses:
# $settings['cache_ttl_4xx'] = 3600;
// Expiration of cached forms:
# $settings['form_cache_expiration'] = 21600;
// Class Loader:
# $settings['class_loader_auto_detect'] = FALSE;
// Authorized file system operations:
# $settings['allow_authorize_operations'] = FALSE;
/**
* Default mode for directories and files written by Drupal.
*
* Value should be in PHP Octal Notation, with leading zero.
*/
# $settings['file_chmod_directory'] = 0775;
# $settings['file_chmod_file'] = 0664;
// Public file base URL:
# $settings['file_public_base_url'] = 'http://downloads.example.com/files';
// Public file path:
# $settings['file_public_path'] = 'sites/default/files';
// Private file path:
# $settings['file_private_path'] = '';
// Session write interval:
# $settings['session_write_interval'] = 180;
// String overrides:
# $settings['locale_custom_strings_en'][''] = [
# 'forum' => 'Discussion board',
# '@count min' => '@count minutes',
# ];
// A custom theme for the offline page:
# $settings['maintenance_theme'] = 'bartik';
/**
* If you encounter a situation where users post a large amount of text, and
* the result is stripped out upon viewing but can still be edited, Drupal's
* output filter may not have sufficient memory to process it. If you
* experience this issue, you may wish to uncomment the following two lines
* and increase the limits of these variables. For more information, see
* http://php.net/manual/pcre.configuration.php.
*/
# ini_set('pcre.backtrack_limit', 200000);
# ini_set('pcre.recursion_limit', 200000);
// Active configuration settings:
# $settings['bootstrap_config_storage'] = ['Drupal\Core\Config\BootstrapConfigStorageFactory', 'getFileStorage'];
// Configuration overrides:
# $config['system.file']['path']['temporary'] = '/tmp';
# $config['system.site']['name'] = 'My Drupal site';
# $config['system.theme']['default'] = 'stark';
# $config['user.settings']['anonymous'] = 'Visitor';
// Fast 404 pages:
# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//';
# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i';
# $config['system.performance']['fast_404']['html'] = '<!DOCTYPE html><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>';
// Load services definition file:
$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml';
// Override the default service container class:
# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container';
// Override the default yaml parser class:
# $settings['yaml_parser_class'] = NULL;
// The default list of directories that will be ignored by Drupal's file API:
$settings['file_scan_ignore_directories'] = [
'node_modules',
'bower_components',
];
// The default number of entities to update in a batch process:
$settings['entity_update_batch_size'] = 50;
// Entity update backup:
$settings['entity_update_backup'] = TRUE;
/**
* Load local development override configuration, if available.
*
* Use settings.local.php to override variables on secondary (staging,
* development, etc) installations of this site. Typically used to disable
* caching, JavaScript/CSS compression, re-routing of outgoing emails, and
* other things that should not happen on development and testing sites.
*
* Keep this code block at the end of this file to take full effect.
*/
if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}