web-dev-qa-db-ja.com

WindowsのDrush-コマンドpm-enableを実行するには、より高いbootstrapレベルが必要です

私はaquia drupalをインストールし、コアdrupalフォルダーをサイトリストに追加しました。

また、drushのWindowsインストーラーをインストールしました。モジュールのダウンロードには問題ありませんが、モジュールを有効にしようとすると、次の画面が表示されます。

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.

誰でもこれを解決する方法を知っていますか?

余談ですが、bashがWindowsで動作している状態でドラッシュを取得する最も簡単な方法は何ですか?良いツタはありますか?

10
qwertymk

この特定のエラーは、drushが読み込むためのsettings.phpファイルと「ブートストラップ」自体を見つけられない場合に発生します。

drupalインストールのdrupalディレクトリ(ドキュメントルート)にcdして、settings.phpファイルを読み取る必要があります。

Pwd(現在の作業ディレクトリ)がデスクトップにあるようです。これは、そのディレクトリがdrupalインストールが置かれている場所ではないことを簡単に想定したものです。

余談ですが、bashがWindowsで動作している状態でドラッシュを取得する最も簡単な方法は何ですか?良いツタはありますか?

Windowsでのインストール/使用 Cygwin を検討することを強くお勧めします。わずかな改善です。

そこから、Drushでより多くのことができるようになります。 sql-syncや他のいくつかの機能では、完全に信頼できる動作をしません。さらに多くのボーナスポイントを得るには、LinuxまたはMac環境(端末が組み込まれている環境)に移動することをお勧めします。

Windowsを使い続ける必要がある場合は、リモートデスクトップターミナルからubuntuを実行できる仮想マシンを作成するdrupalプロジェクト quickstart を検討してください。

10
chrisjlee

サイトフォルダーの名前がdefaultでない場合は、settings.phpを含むフォルダーにcdして、再試行してください。 --rootオプションと--uriオプションを使用して、ルートとサイトを明示的に指定することもできます。見る drush topicより多くのDrushヘルプが必要です。特に、エイリアスの例のトピックを読んでください。

Windows上のDrushには未解決の問題があることに注意してください。最良の結果を得るには、最新のインストーラー(この記事の執筆時点では11月23日)を使用していることを確認してください。

5
greg_1_anderson

同様の問題がありましたが、根本的な原因は少し異なりました。 Drushはphp.iniファイルを見つけることができませんでした。同じ問題があるかどうかを確認する簡単な方法は、drush statusを実行し、PHP Configurationの値が空白かどうかを確認することです。

もしそうなら、この問題をすばやく簡単に解決する方法は、Environment SettingsでPHPRCパス変数を指定し、正しいphp.iniファイルを指すようにすることです。

1
Nerrve

私の経験から、このエラーは、drushによって呼び出されたphpが、phpがWebサーバー(pdoやpdo_mysqlなど)内で使用されているときに使用される追加のモジュールをロードしていないときに発生します。

システムのどこにpdo.iniやpdo_mysql.iniなどのファイルがあるかを見つけます。次に、そのディレクトリを指すように環境変数PHP_INI_SCAN_DIRを設定し、drushの実行を再試行します。

1
Міша

Drushを使用してモジュールを有効にする際に問題が発生しました。

OS:Windows 10 | Wamp Server 3.0.6 6ビット| Apache 2.4.23 | PHP 5.6.25 | Mysql 5.7.14

$ドラッシュステータス

Drupalバージョン:8.3.3

サイトURI: http:// default

データベースドライバー:mysql

データベースのホスト名:127.0.0.1

データベースポート:3306

データベースのユーザー名:root

データベース名:d8

PHP構成:C:\ wamp64\bin\php\php5.6.25\php.ini

PHP OS:WINNT

Drushスクリプト:C:/ Users/{username}/AppData/Roaming/Composer/vendor/dru sh/drush/drush.php

Drushバージョン:8.1.12

Drush一時ディレクトリ:C:\ Users {username}\AppData\Local\Temp

ドラッシュ構成:

Drushエイリアスファイル:

Drupalルート:C:\ wamp64\www\d8

Drupal設定ファイル:sites/default/settings.php

サイトパス:sites/default

同期構成パス:sites/default/files/config_E6SAOaCUH8rQXxYNzKf6ZlT-u VwHuORJbi1aeT8x1zE4nMxT8FxUGFr36_Cjtq_ACGAGLt4_9g/sy nc

------ Github Bash出力-------

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

$ドラッシュcr

コマンドcache-rebuildを実行するには、より高いbootstrap=レベルが必要です-より機能的な[エラー]からdrushを呼び出す必要があります

このコマンドを実行するDrupal環境。

コマンドcache-rebuildを実行するにはDrupalコアバージョン8+が必要です。[エラー]

Drushコマンド 'cr'を実行できませんでした。 [エラー]

------ Github Bash出力-------

これを手伝ってくれませんか。

少し早いですがお礼を。

0
laxman2021

私のような人はおそらく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';
0
Adrian Sweeney