Drushがインストールされ、実行されています。URIを指定してもDrupalサイトが見つかりません


9

多くの試練と苦難の後、私はすべての準備ができていると思いました。多くの興奮。しかし、その後、喜びはありません...

Drushが機能しています。サイトはMAMP経由で正常に動作します。いずれにせよ、「drush cc all」コマンドは以下を返します。

No Drupal site found, only 'drush' cache was cleared.                                          [warning]
'all' cache was cleared.                                                                       [success]

この質問はdrupalconの参加者と非常に経験豊富な開発者を困らせました。何か案は?

MAMP(無料)バージョン3.0.5を使用しているMac OS 10.9.3を使用しています。

ここに私のdrushステータスがあります:

 Drupal version         :  7.29-dev                               
 Site URI               :  http://default                         
 Database driver        :  mysql                                  
 Database hostname      :  localhost                              
 Database username      :  db_user                           
 Database name          :  db_name                      
 PHP executable         :  /usr/bin/php                           
 PHP configuration      :                                         
 PHP OS                 :  Darwin                                 
 Drush version          :  7.0-dev                                
 Drush temp directory   :  /tmp                                   
 Drush configuration    :                                         
 Drush alias files      :                                         
 Drupal root            :  /Applications/MAMP/htdocs/mysite.dev 
 Site path              :  sites/default    

からdrushを実行してみました/Applications/MAMP/htdocs/mysite.dev。から/Applications/MAMP/htdocs/mysite.dev/sites/default; そして使用drush cc all --uri=http://localhost/mysite.dev

サイト/デフォルトからdrushを実行してみました。同じ結果。


データベース接続は、sites / defaultフォルダーにありますか?もしそうなら、そのフォルダからdrush ccを実行してみてください。--uriはdrush ccの有効な引数だとは思いません
chadpeppers 14年

サイト/デフォルトからdrushを実行してみました。同じ結果。
jenpasch 2014年

これに対する解決策を見つけましたか?同じ問題と同様の設定があります。
Deejay

私はしませんでした。私はまだブラシレスです。
jenpasch 2014年

これ見た?これは、トップオフようになります。drupal.stackexchange.com/questions/98802/...
Laryn - CEDC.org

回答:


9

以下のすべての点に対処していることを再確認してください。

  1. drushDrupalルートフォルダーまたはsettings.phpファイルを含むフォルダーで実行しています。
  2. mysqlコマンドが存在している(と、それはあなたの中にありますPATH)。

    データベースコマンドはdriver、設定ファイルに設定されているデータベースに依存することに注意してください(sqlcmdSQL Serverなどの場合、詳細については、Drushのさまざまなクラスを確認してください/src/Sql)。

    フォルダーで実行中にコマンドが欠落している場合は、そのバイナリファイルへのパスがPATHシステム変数に追加されていることを確認してください。

  3. PHPでPDO拡張機能が有効になっています(確認:php -m | grep pdoまたはdrush sqlc)。

  4. PHPでデータベース拡張機能が有効になっている(例:mysqli)(チェック対象:)php -m | grep mysql

正確に何が問題なのかを調査するにはdrush-v(verbose -d)フラグと(debug)フラグを指定して実行します。

drush -vd status
drush -vd ev "echo 123"
drush -vd cc all

エラーがないか確認します。


PHP PDOのmysql拡張がインストールされていません。php.iniをチェックして、有効にする方法を確認してください。

データベース拡張機能(例:)をインストールしますmysqli上記の4番目のポイントに従って)。

MAMPについては、「DrushがMacで機能しない」を参照してください。


MAMP

MAMPを使用しているので、正しいバージョンのphpバイナリ(でチェックwhich php)を実行していることも確認してください/Applications/MAMP/bin/php/php5.X.X/bin/php。ない場合は、あなたにパスを追加してくださいPATH、あなたの中のrcファイル(例~/.bashrc):

# For MAMP (OSX)
PHP_VER="5.6.10" # Or: 5.4.19/5.5.3 (check by: $ ls /Applications/MAMP/bin/php/php*)
export PATH="$PATH:/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php$PHP_VER/bin:/Developer/usr/bin"

XAMPP

XAMPP for Windowsの場合も同様C:\xampp\mysql\binに、環境変数にを追加しますPATH

デバッグ中

drushコマンドが何らかの理由で失敗した場合、drush(シェルコマンド)をデバッグするための推奨手順を以下に示します。

  1. PHP xdebug拡張機能をインストールして有効にします。による確認php71 -i | grep xdebug
  2. Drupalルート設定ファイルデータベースがに存在することを確認しdrush statusます。
  3. トレースファイルを生成します。

    drush ev "xdebug_start_trace(); drush_drupal_cache_clear_all(); echo xdebug_get_tracefile_name(); xdebug_stop_trace();"

    または:

    drush ev "xdebug_start_trace(); print_r(_core_site_status_table()); echo xdebug_get_tracefile_name(); xdebug_stop_trace();"

    別のPHPバージョンでxdebugが有効になっている場合は、で指定しDRUSH_PHP=/path/to/phpます。

    成功した場合、トレース出力ファイルは最後に出力されるはずなので、メモしておいてください。

  4. 次に、トレースファイルを開いて確認します。

  5. Drushの出力をクリーンなDrupalでテストまたは比較するには、次の方法で新しいDrupalを空のフォルダーにインストールできます。

    drush -y qd --no-server --core=drupal-8
    cd quick-drupal-*/drupal*
    drush status

2
+1本当に良い答えです。明らかなcheck settings.phpとdbを超えています。特にdrush sqlc、データベースがユーザーと接続できないことが示され、ユーザーとパスワードを確認し、それらを間違って設定したことを明らかにしたので、私は私を助けてくれました。ありがとうございました!
therobyouknow 2017

1
私は@therobyouknowと同様の問題を抱えていました-MySQL ~/.my.cnf接続用のユーザーを指定するがパスワードは指定しないファイルがありました。これは、サイトからのパスワードを使用して、そのファイルのユーザーを使用していたため、無効になりました。~/.my.cnfファイルにパスワードを追加するか、そのファイルを削除すると、問題が完全に解決しました
artfulrobot

4

MAMPを実行しているMacの新しいDrush 8でも同じ問題がありました

これを.bash_profileエクスポートPATH = / Applications / MAMP / Library / bin /:$ PATHに追加する必要があります。

追加したら、bashを再起動する必要があるため、現在のウィンドウでは機能しないため、新しいターミナルウィンドウを必ず開いてください。


1
この使い捨ての1本の線が私にとってそれを修正したものです。これで髪を抜いていた。bashの更新/変更を行うときに新しいターミナルウィンドウを開きます!それ以外の場合、新しい設定は有効になりません。
エリア

1

@kenorbが言ったように、を使用すると、drush -vd cc all何が起こっているのかを詳しく知ることができます。私の場合、それはエラーが原因"mysql command not found"でした。mysqlのパスを環境変数に設定することで解決しました。DrushとMySQLの両方のパスもチェックして、機能するかどうかを確認する必要があると思います。

ありがとう!!


1

Drushを使用してオールキャッシュをクリアするには、wwwまたはhtdocsディレクトリのようにサイトディレクトリが置かれているターミナルのサイトのディレクトリに移動し、その後、次のコマンドを実行してプロジェクトフォルダに移動する必要があります。

drush cc all

0

Drushパッケージのconfigure.mdをチェックアウトしてください。プラットフォームに役立つヒントがたくさんあり、MAMPセクションは次のようになります。

Mampの追加構成:

MAMPのユーザーは、コマンドラインインターフェイスで使用するphpとMySQLのバージョンをPATHで手動で指定する必要があります。これは、MAMPアプリケーションの設定で選択されたphpのバージョンとは無関係です。OS Xで、ホームフォルダーの.bash_profileというファイルを編集します(まだ存在しない場合は作成します)。

PHP 5.3.xを使用するには、次の行を.bash_profileに追加します。

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.3/bin:$PATH"

PHP 5.4.xを使用する場合は、代わりに次の行を追加します。

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.4/bin:$PATH"

MAMP 3(デフォルトではphp 5.5.14)を使用していて、php 5.5.xを使用したい場合は、代わりに次の行を追加します。

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php5.5.14/bin:$PATH"

MAMP v.1.84以下の場合、この設定は両方のバージョンのPHPで機能します。

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5/bin:$PATH"

これを実行しても、PDO :: __ constructから「そのようなファイルまたはディレクトリはありません」というエラーが引き続き表示される場合は、次を試してください。

bash sudo mkdir /var/mysql sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

さらに、drushを正常に使用するには、php.ini設定を調整する必要がある場合があります。続行方法の詳細については、以下のPHP.INIの設定を参照してください。


0

MAMP Proを実行して、次の行を~/.bash_profileファイルに追加することで、これを機能させました。

export PATH=$PATH:/Applications/MAMP/Library/bin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.