Drush sur Windows - La commande pm-enable a besoin d'un niveau d'amorçage plus élevé pour s'exécuter

10

J'ai installé aquia drupal et ajouté un dossier core drupal dans la liste des sites.

J'ai également installé l'installateur Windows de drush, cela fonctionne bien pour le téléchargement de modules mais quand j'essaye de les activer j'obtiens cet écran:

C:\Documents and Settings\Administrator\Desktop\drupal>drush en ctools
Command pm-enable needs a higher bootstrap level to run - you will       [error]

need invoke drush from a more functional Drupal environment to run
this command.
The drush command 'en ctools' could not be executed.                     [error]

Drush was not able to start (bootstrap) the Drupal database.             [error]

Hint: This error often occurs when Drush is trying to bootstrap a
site that has not been installed or does not have a configured
database.

Drush was attempting to connect to :
  Drupal version    : 7.9
  Site URI          : http://default
  Default theme     : garland
  Administration theme: garland
  PHP configuration : C:\Program Files\Propeople\Drush\Php\php.ini
  Drush version     : 5.0-dev
  Drush configuration:
  Drush alias files :
  Drupal root       : C:/Documents and
Settings/Administrator/Desktop/drupal
  Site path         : sites/default
  Modules path      : sites/all/modules
  Themes path       : sites/all/themes
  File directory path: sites/default/files
  %paths            : Array

You can select another site with a working database setup by
specifying the URI to use with the --uri parameter on the command
line or $options['uri'] in your drushrc.php file.

Quelqu'un sait comment résoudre ce problème?

En guise de remarque, quelle est la façon la plus simple de se mettre au travail avec le bash fonctionnant sur Windows? De bons tuts?

qwertymk
la source

Réponses:

10

Cette erreur particulière se produit lorsque drush ne peut pas trouver le fichier settings.php à lire et "bootstrap" lui-même.

Vous devez cd dans le répertoire drupal (racine du document) de votre installation drupal afin qu'il puisse être lu dans un fichier settings.php.

On dirait que votre pwd (répertoire de travail actuel) est sur votre bureau. Je vais faire une supposition rapide que ce répertoire n'est pas où se trouve votre installation drupal.

En guise de remarque, quelle est la façon la plus simple de se mettre au travail avec le bash fonctionnant sur Windows? De bons tuts?

Je recommande fortement de chercher à installer / utiliser Cygwin sur Windows; car c'est une légère amélioration.

De là, vous pourrez faire plus de choses avec Drush. La synchronisation sql et plusieurs autres fonctions que j'entends ne fonctionnent pas totalement de manière fiable. Pour encore plus de points bonus, vous voudrez peut-être passer à un environnement linux ou mac (quelque chose qui a un terminal intégré).

Si vous devez rester avec Windows, veuillez considérer un projet drupal appelé, quickstart , qui crée une machine virtuelle qui vous permet d'exécuter ubuntu via un terminal de bureau distant.

chrisjlee
la source
1
Vous pouvez également configurer des fichiers d'alias de site avec les informations de chemin d'accès à votre DOCROOT, ce qui vous permet d'exécuter drush de n'importe où.
mpdonadio
en fait, le C:\Documents and Settings\Administrator\Desktop\drupalrépertoire est le dossier racine de l'installation drupal.
qwertymk
@qwertymk alors changez votre répertoire et lancez drush à partir de là.
chrisjlee
5

Si le dossier de votre site n'est pas nommé par défaut, puis accédez au dossier contenant le fichier settings.php et réessayez. Vous pouvez également spécifier explicitement la racine et le site avec les options --root et --uri. Voir drush topicpour plus d'aide drush; en particulier, lisez l'exemple de rubrique d'alias.

Sachez qu'il existe toujours des problèmes ouverts avec Drush sous Windows. Pour un résultat optimal, assurez-vous que vous utilisez le dernier programme d'installation (23 novembre au moment de la rédaction de ce document).

greg_1_anderson
la source
1

J'ai eu un problème similaire, mais la cause profonde était un peu différente. Drush n'a pas pu trouver le fichier php.ini. Un moyen simple de vérifier si vous rencontrez le même problème consiste à exécuter drush statuset à voir si la PHP Configurationvaleur est vide ou non.

Si tel est le cas, le moyen rapide et facile de résoudre ce problème consiste à spécifier la variable de chemin PHPRC Environment Settingset à la pointer vers le bon fichier php.ini.

Nerrve
la source
où dois-je spécifier le chemin PHPRC? :)
Vic
1

D'après mon expérience, cette erreur se produit, lorsque php invoqué par drush ne charge pas les modules supplémentaires, qui sont utilisés, lorsque php est utilisé à l'intérieur du serveur Web (comme pdo et pdo_mysql).

Trouvez où se trouvent sur votre système les fichiers tels que pdo.ini et pdo_mysql.ini. Ensuite, définissez la variable d'environnement PHP_INI_SCAN_DIR pour pointer vers ce répertoire et essayez à nouveau d'exécuter drush.

Міша
la source
0

vous avez comme moi probablement oublié d'ajouter un docroot / sites / default / settings.local.php

<?php
$databases = array(
    'default' => array(
            'default' => array(
                    'database' => 'database_name',
                    'username' => 'root',
                    'password' => '',
                    'host' => '127.0.0.1',
                    'port' => '',
                    'driver' => 'mysql',
                    'prefix' => '',
            ),
    ),
);
$conf['file_temporary_path'] = '/tmp';
Adrian Sweeney
la source
0

Problème d'activation des modules à l'aide de Drush.

Système d'exploitation: Windows 10 | Wamp Server 3.0.6 6 bits | Apache 2.4.23 | PHP 5.6.25 | Mysql 5.7.14

$ drush status

Version Drupal: 8.3.3

URI du site: http: // par défaut

Pilote de base de données: mysql

Nom d'hôte de la base de données: 127.0.0.1

Port de base de données: 3306

Nom d'utilisateur de la base de données: root

Nom de la base de données: d8

Configuration PHP: C: \ wamp64 \ bin \ php \ php5.6.25 \ php.ini

PHP OS: WINNT

Script Drush: C: / Users / {nom d'utilisateur} / AppData / Roaming / Composer / vendor / dru sh / drush / drush.php

Version Drush: 8.1.12

Répertoire temporaire Drush: C: \ Users {nom d'utilisateur} \ AppData \ Local \ Temp

Configuration de Drush:

Drush des fichiers d'alias:

Racine Drupal: C: \ wamp64 \ www \ d8

Fichier de paramètres Drupal: sites / default / settings.php

Chemin du site: sites / par défaut

Chemin de configuration de synchronisation: sites / default / files / config_E6SAOaCUH8rQXxYNzKf6ZlT-u VwHuORJbi1aeT8x1zE4nMxT8FxUGFr36_Cjtq_ACGAGLt4_9g / sy nc

------ Sortie Bith Github -------

laxman-nb MINGW64 / c / wamp64 / www / d8 / sites / par défaut

$ drush cr

La commande cache-rebuild a besoin d'un niveau d'amorçage plus élevé pour s'exécuter - vous devrez invoquer drush à partir d'une fonction plus fonctionnelle [erreur]

Environnement Drupal pour exécuter cette commande.

La commande cache-rebuild nécessite Drupal core version 8+ pour s'exécuter. [Erreur]

La commande drush 'cr' n'a pas pu être exécutée. [Erreur]

------ Sortie Bith Github -------

Peux-tu m'aider avec ceci.!

Merci d'avance.

laxman2021
la source