4
votes

La commande cim est introuvable. Drush n'a pas pu interroger la base de données

Lors de l'exécution des commandes drush cim dans Drupal 8, j'obtiens l'erreur suivante:

$ 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

et lorsque j'exécute le drush cim --debug code> affichez ce qui suit:

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.


0 commentaires

3 Réponses :


2
votes

Veuillez exécuter cette commande drush config-import avant d'exécuter la commande drush cim .

Pour plus d'informations, veuillez consulter ce lien ici J'espère que cela résout votre problème.


7 commentaires

Je pensais que cim et config-import étaient les mêmes. drushcommands.com/drush-8x/config/config-import


'cim' est l'alias de 'config-import' et la première fois que vous devez utiliser la commande d'origine


@MohammadAzizNabizada Mais comment et pourquoi un alias pour une commande donnée se comporterait-il différemment de la commande d'origine vers laquelle il pointe? Où voyez-vous cela ?


@MohammadAzizNabizada Existe-t-il une documentation officielle à ce sujet?


@yunzen la documentation officielle n'existe pas mais d'après mon expérience. nous devrions utiliser à la place de l'alias l'original lorsque l'alias n'est pas trouvé.


Aucune offense, mais je pense que c'est trompeur de conclure à cela sans aucune recherche ni explication supplémentaire.


La commande drush config-import a entraîné pour moi exactement la même erreur que drush cim , donc, j'ai publié ce qui a fonctionné pour moi .



1
votes

Dans mon cas, je n'ai tout simplement pas démarré le serveur virtuel (wamp).


0 commentaires

1
votes

Vous essayez probablement (comme moi) d'importer toutes les configurations exportées à partir d'un site existant (à partir de maintenant référencé comme example.com ) dans votre local ( localhost / PROJECT_NAME ) pour des raisons de développement, mais ce n'est actuellement (milieu 2019) pas directement pris en charge, et vous devrez d'abord importer la base de données, voir ci-dessous pour plus.

Étapes:

  1. Exportez et téléchargez la base de données depuis votre site existant (par exemple example.com/admin/config/development/backup_migrate ).
  2. Dans votre local, assurez-vous d'avoir suffisamment de RAM (peut-être fermez certains programmes).
  3. Créez votre base de données locale ( DATABASE_NAME ) et importez-en une précédemment exportée, en utilisant PhpMyAdmin (ou quelque chose du genre, par exemple http: // localhost / phpmyadmin / ).
  4. Assurez-vous que le fichier settings.local.php existe (dans le répertoire ./sites/default/settings ), et s'il n'existe pas, créez-le et configurez-le, par exemple comme:
// 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';
}
  1. Assurez-vous que le fichier settings.php existe (dans le répertoire ./sites/default ) et qu'il inclut les settings.local.php code> (joindra mon fichier settings.php par défaut).
  2. Accéder au lien localhost / PROJECT_NAME / core / install.php? rewrite = ok & langcode = en & profile = standard & continue = 1 (juste pour vous assurer que Drupal est déjà installé).
  3. Exécutez drush cr (cela devrait maintenant fonctionner et vider le cache).

Fichier settings.php :

Ceci est mon fichier settings.php par défaut, qui devrait inclure settings.local.php (s'il existe).

<?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';


0 commentaires