找不到命令 cim。 Drush 无法查询数据库
Command cim was not found. Drush was unable to query the database
当在 Drupal 8 中执行 运行ning drush cim
命令时,出现以下错误:
Command cim was not found. Drush was unable to query the database. As a result, many commands are unavailable.
Re-run your command with --debug to see relevant log messages.
当我 运行 drush cim --debug
显示以下内容时:
$ drush cim --debug
[preflight] Redispatch to site-local Drush: C:\xampp\htdocs\executive-coatings\docroot/vendor/drush/drush/drush.
[preflight] Config paths: C:/xampp/htdocs/executive-coatings/docroot/vendor/drush/drush/drush.yml
[preflight] Alias paths: C:/xampp/htdocs/executive-coatings/docroot/drush/sites,C:/xampp/htdocs/executive-coatings/drush/sites,C:/xampp/htdocs/executive-coatings/docroot/drush/sites
[preflight] Commandfile search paths: C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src
[debug] Bootstrap further to find cim [0.27 sec, 6.78 MB]
[debug] Trying to bootstrap as far as we can [0.27 sec, 6.78 MB]
[bootstrap] Drush bootstrap phase: bootstrapDrupalRoot() [0.27 sec, 6.78 MB]
[bootstrap] Change working directory to C:\xampp\htdocs\executive-coatings\docroot [0.27 sec, 6.78 MB]
[bootstrap] Initialized Drupal 8.6.13 root directory at C:\xampp\htdocs\executive-coatings\docroot [0.28 sec, 6.9 MB]
[bootstrap] Drush bootstrap phase: bootstrapDrupalSite() [0.28 sec, 7.15 MB]
[bootstrap] Initialized Drupal site default at sites/default [0.29 sec, 7.37 MB]
[debug] Could not find a Drupal settings.php file at sites/default/settings.php. [0.29 sec, 7.37 MB]
[bootstrap] Drush bootstrap phase: bootstrapDrupalConfiguration() [0.29 sec, 7.37 MB]
[debug] Add service modifier [0.29 sec, 7.51 MB]
[bootstrap] Unable to connect to database. More information may be available by running `drush status`. This may occur when Drush is trying to bootstrap a site that has not been installed or does not have a configured database. In this case you can select another site with a working database setup by specifying the URI to use with the --uri parameter on the command line. See `drush topic docs-aliases` for details. [0.29 sec, 7.51 MB]
[debug] Bootstrap phase bootstrapDrupalDatabase() failed to validate; continuing at bootstrapDrupalConfiguration() [0.29 sec, 7.51 MB]
[debug] Done with bootstrap max in Application::find(): trying to find cim again. [0.29 sec, 7.51 MB]
In Application.php line 239:
[Symfony\Component\Console\Exception\CommandNotFoundException]
Command cim was not found. Drush was unable to query the database. As a result, many commands are unavailable. Re-r
un your command with --debug to see relevant log messages.
Exception trace:
() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src\Application.php:239
Drush\Application->bootstrapAndFind() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src\Application.php:192
Drush\Application->find() at C:\xampp\htdocs\executive-coatings\docroot\vendor\symfony\console\Application.php:236
Symfony\Component\Console\Application->doRun() at C:\xampp\htdocs\executive-coatings\docroot\vendor\symfony\console\Application.php:148
Symfony\Component\Console\Application->run() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src\Runtime\Runtime.php:118
Drush\Runtime\Runtime->doRun() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src\Runtime\Runtime.php:49
Drush\Runtime\Runtime->run() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\drush.php:72
require() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\drush:4
请在 运行 drush cim
命令之前 运行 此命令 drush config-import
。
更多信息请参考此link here
我希望它能解决你的问题。
就我而言,我只是没有启动虚拟服务器 (wamp)。
您可能(像我一样)正在尝试将所有导出的配置从某些 existing-site(从这里引用为 example.com
)导入您的本地(localhost/PROJECT_NAME
)进行开发原因,但目前(2019 年年中)不直接支持,您必须先导入数据库,详情请参见下文。
步骤:
- 从您的 existing-site(例如
example.com/admin/config/development/backup_migrate
)导出和下载数据库。
- 在你的本地,确保你有足够的 RAM(可能关闭一些程序)。
- 创建您的本地数据库 (
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
文件)。
- Goto
localhost/PROJECT_NAME/core/install.php?rewrite=ok&langcode=en&profile=standard&continue=1
link(只是为了确保它显示 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';
}
当在 Drupal 8 中执行 运行ning drush cim
命令时,出现以下错误:
Command cim was not found. Drush was unable to query the database. As a result, many commands are unavailable.
Re-run your command with --debug to see relevant log messages.
当我 运行 drush cim --debug
显示以下内容时:
$ drush cim --debug
[preflight] Redispatch to site-local Drush: C:\xampp\htdocs\executive-coatings\docroot/vendor/drush/drush/drush.
[preflight] Config paths: C:/xampp/htdocs/executive-coatings/docroot/vendor/drush/drush/drush.yml
[preflight] Alias paths: C:/xampp/htdocs/executive-coatings/docroot/drush/sites,C:/xampp/htdocs/executive-coatings/drush/sites,C:/xampp/htdocs/executive-coatings/docroot/drush/sites
[preflight] Commandfile search paths: C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src
[debug] Bootstrap further to find cim [0.27 sec, 6.78 MB]
[debug] Trying to bootstrap as far as we can [0.27 sec, 6.78 MB]
[bootstrap] Drush bootstrap phase: bootstrapDrupalRoot() [0.27 sec, 6.78 MB]
[bootstrap] Change working directory to C:\xampp\htdocs\executive-coatings\docroot [0.27 sec, 6.78 MB]
[bootstrap] Initialized Drupal 8.6.13 root directory at C:\xampp\htdocs\executive-coatings\docroot [0.28 sec, 6.9 MB]
[bootstrap] Drush bootstrap phase: bootstrapDrupalSite() [0.28 sec, 7.15 MB]
[bootstrap] Initialized Drupal site default at sites/default [0.29 sec, 7.37 MB]
[debug] Could not find a Drupal settings.php file at sites/default/settings.php. [0.29 sec, 7.37 MB]
[bootstrap] Drush bootstrap phase: bootstrapDrupalConfiguration() [0.29 sec, 7.37 MB]
[debug] Add service modifier [0.29 sec, 7.51 MB]
[bootstrap] Unable to connect to database. More information may be available by running `drush status`. This may occur when Drush is trying to bootstrap a site that has not been installed or does not have a configured database. In this case you can select another site with a working database setup by specifying the URI to use with the --uri parameter on the command line. See `drush topic docs-aliases` for details. [0.29 sec, 7.51 MB]
[debug] Bootstrap phase bootstrapDrupalDatabase() failed to validate; continuing at bootstrapDrupalConfiguration() [0.29 sec, 7.51 MB]
[debug] Done with bootstrap max in Application::find(): trying to find cim again. [0.29 sec, 7.51 MB]
In Application.php line 239:
[Symfony\Component\Console\Exception\CommandNotFoundException]
Command cim was not found. Drush was unable to query the database. As a result, many commands are unavailable. Re-r
un your command with --debug to see relevant log messages.
Exception trace:
() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src\Application.php:239
Drush\Application->bootstrapAndFind() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src\Application.php:192
Drush\Application->find() at C:\xampp\htdocs\executive-coatings\docroot\vendor\symfony\console\Application.php:236
Symfony\Component\Console\Application->doRun() at C:\xampp\htdocs\executive-coatings\docroot\vendor\symfony\console\Application.php:148
Symfony\Component\Console\Application->run() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src\Runtime\Runtime.php:118
Drush\Runtime\Runtime->doRun() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\src\Runtime\Runtime.php:49
Drush\Runtime\Runtime->run() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\drush.php:72
require() at C:\xampp\htdocs\executive-coatings\docroot\vendor\drush\drush\drush:4
请在 运行 drush cim
命令之前 运行 此命令 drush config-import
。
更多信息请参考此link here 我希望它能解决你的问题。
就我而言,我只是没有启动虚拟服务器 (wamp)。
您可能(像我一样)正在尝试将所有导出的配置从某些 existing-site(从这里引用为 example.com
)导入您的本地(localhost/PROJECT_NAME
)进行开发原因,但目前(2019 年年中)不直接支持,您必须先导入数据库,详情请参见下文。
步骤:
- 从您的 existing-site(例如
example.com/admin/config/development/backup_migrate
)导出和下载数据库。 - 在你的本地,确保你有足够的 RAM(可能关闭一些程序)。
- 创建您的本地数据库 (
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
文件)。 - Goto
localhost/PROJECT_NAME/core/install.php?rewrite=ok&langcode=en&profile=standard&continue=1
link(只是为了确保它显示 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';
}