Drush unter Windows - Der Befehl pm-enable benötigt zum Ausführen eine höhere Bootstrap-Stufe

10

Ich habe aquia drupal installiert und der Site-Liste einen Kern-Drupal-Ordner hinzugefügt.

Ich habe auch das Windows-Installationsprogramm von drush installiert. Es funktioniert gut zum Herunterladen von Modulen, aber wenn ich versuche, sie zu aktivieren, wird folgender Bildschirm angezeigt:

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.

Weiß jemand, wie man das löst?

Was ist der einfachste Weg, um mit der Bash an Fenstern fertig zu werden? Irgendwelche guten Tuts?

qwertymk
quelle

Antworten:

10

Dieser spezielle Fehler tritt auf, wenn drush die einzulesende Datei settings.php und "bootstrap" selbst nicht finden kann.

Sie müssen in das drupal-Verzeichnis (Document root) Ihrer drupal-Installation cd, damit es eine settings.php-Datei einlesen kann.

Sieht so aus, als ob sich Ihr pwd (aktuelles Arbeitsverzeichnis) auf Ihrem Desktop befindet. Ich gehe schnell davon aus, dass sich in diesem Verzeichnis nicht Ihre Drupal-Installation befindet.

Was ist der einfachste Weg, um mit der Bash an Fenstern fertig zu werden? Irgendwelche guten Tuts?

Ich empfehle dringend, Cygwin unter Windows zu installieren / zu verwenden . da es eine leichte Verbesserung ist.

Von dort aus können Sie mit Drush mehr tun. Die SQL-Synchronisierung und einige andere Funktionen, die ich höre, funktionieren nicht ganz zuverlässig. Für noch mehr Bonuspunkte möchten Sie möglicherweise in eine Linux- oder Mac-Umgebung wechseln (etwas, in das ein Terminal integriert ist).

Wenn Sie bei Windows bleiben müssen, ziehen Sie bitte ein Drupal-Projekt namens Schnellstart in Betracht , das eine virtuelle Maschine erstellt, mit der Sie Ubuntu über ein Remotedesktop-Terminal ausführen können.

Chrisjlee
quelle
1
Sie können auch Site-Alias-Dateien mit den Pfadinformationen zu Ihrem DOCROOT einrichten, sodass Sie Drush von überall aus ausführen können.
mpdonadio
tatsächlich ist das DIR , C:\Documents and Settings\Administrator\Desktop\drupaldie der Stammordner der Drupalinstallation ist.
QWERTymk
@qwertymk also ändere dein Verzeichnis und starte drush von dort aus.
Chrisjlee
5

Wenn Ihr Site-Ordner nicht den Standardnamen hat, wechseln Sie in den Ordner mit der Datei settings.php und versuchen Sie es erneut. Sie können das Stammverzeichnis und die Site auch explizit mit den Optionen --root und --uri angeben. Siehe drush topicfür mehr drush Hilfe; Lesen Sie insbesondere das Thema Beispiel-Aliase.

Beachten Sie, dass unter Drush unter Windows noch offene Probleme bestehen. Stellen Sie für ein optimales Ergebnis sicher, dass Sie das neueste Installationsprogramm verwenden (23. November zum Zeitpunkt dieses Schreibens).

greg_1_anderson
quelle
1

Ich hatte ein ähnliches Problem, aber die Grundursache war etwas anders. Drush konnte die Datei php.ini nicht finden. Eine einfache Möglichkeit, um zu überprüfen, ob Sie das gleiche Problem haben, besteht darin, auszuführen drush statusund festzustellen, ob der PHP ConfigurationWert leer ist oder nicht.

Wenn dies der Fall ist, können Sie dieses Problem schnell und einfach lösen, indem Sie die PHPRC-Pfadvariable in angeben Environment Settingsund auf die richtige Datei php.ini verweisen.

Nerrve
quelle
Wo gebe ich den PHPRC-Pfad an? :)
Vic
1

Nach meiner Erfahrung tritt dieser Fehler auf, wenn PHP, das von Drush aufgerufen wird, nicht die zusätzlichen Module lädt, die verwendet werden, wenn PHP innerhalb des Webservers verwendet wird (wie z. B. pdo und pdo_mysql).

Finden Sie heraus, wo sich auf Ihrem System die Dateien wie pdo.ini und pdo_mysql.ini befinden. Setzen Sie dann die Umgebungsvariable PHP_INI_SCAN_DIR so, dass sie auf dieses Verzeichnis verweist, und versuchen Sie erneut, drush auszuführen.

Міша
quelle
0

Sie haben wie ich wahrscheinlich vergessen, eine docroot / sites / default / settings.local.php hinzuzufügen

<?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
quelle
0

Probleme beim Aktivieren von Modulen mit Drush.

Betriebssystem: Windows 10 | Wamp Server 3.0.6 6 Bit | Apache 2.4.23 | PHP 5.6.25 | MySQL 5.7.14

$ drush status

Drupal-Version: 8.3.3

Site-URI: http: // Standard

Datenbanktreiber: MySQL

Datenbank-Hostname: 127.0.0.1

Datenbankport: 3306

Datenbank-Benutzername: root

Datenbankname: d8

PHP-Konfiguration: C: \ wamp64 \ bin \ php \ php5.6.25 \ php.ini

PHP OS: WINNT

Drush-Skript: C: / Users / {Benutzername} / AppData / Roaming / Composer / vendor / dru sh / drush / drush.php

Drush-Version: 8.1.12

Drush-temporäres Verzeichnis: C: \ Benutzer {Benutzername} \ AppData \ Local \ Temp

Drush-Konfiguration:

Drush-Alias-Dateien:

Drupal-Wurzel: C: \ wamp64 \ www \ d8

Drupal-Einstellungsdatei: sites / default / settings.php

Site-Pfad: Sites / Standard

Konfigurationspfad synchronisieren: sites / default / files / config_E6SAOaCUH8rQXxYNzKf6ZlT-u VwHuORJbi1aeT8x1zE4nMxT8FxUGFr36_Cjtq_ACGAGLt4_9g / sy nc

------ Github Bash Output -------

laxman-nb MINGW64 / c / wamp64 / www / d8 / sites / default

$ drush cr

Für die Befehls-Cache-Neuerstellung ist eine höhere Bootstrap-Ebene erforderlich. Sie müssen drush von einem funktionaleren [Fehler] aus aufrufen.

Drupal-Umgebung zum Ausführen dieses Befehls.

Für die Wiederherstellung des Befehls-Cache muss Drupal Core Version 8+ ausgeführt werden. [Fehler]

Der Drush-Befehl 'cr' konnte nicht ausgeführt werden. [Error]

------ Github Bash Output -------

Kannst du mir dabei helfen.!

Danke im Voraus.

laxman2021
quelle