多くの試練と苦難の後、私はすべての準備ができていると思いました。多くの興奮。しかし、その後、喜びはありません...
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
/Applications/MAMP/htdocs/mysite.dev
からdrushを実行してみました。 /Applications/MAMP/htdocs/mysite.dev/sites/default
からおよびdrush cc all --uri=http://localhost/mysite.dev
を使用
サイト/デフォルトからdrushを実行してみました。同じ結果。
以下のすべての点に対処していることを再確認してください。
settings.php
ファイルを含むフォルダでdrush
を実行しています。mysql
コマンドが存在します(これはPATH
にあります)。
データベースコマンドは、設定ファイルで設定されているデータベースdriver
に依存することに注意してください(例:SQL Serverのsqlcmd
。詳細については、Drushのさまざまなクラスをチェックしてください /src/Sql
)。
フォルダーで実行中にコマンドが欠落している場合は、そのバイナリファイルへのパスがPATH
システム変数に追加されていることを確認してください。
あなたのPHPは [〜#〜] pdo [〜#〜] 拡張機能が有効になっています(チェック:php -m | grep pdo
またはdrush sqlc
)。
mysqli
)(check by:php -m | grep mysql
)。正確に何が問題なのかを調査するには、-v
(冗長)フラグと-d
(デバッグ)フラグを指定してdrush
を実行します。
drush -vd status
drush -vd ev "echo 123"
drush -vd cc all
エラーがないか確認します。
PHP PDOのmysql拡張がインストールされていません。php.iniをチェックして、それを有効にする方法を確認してください。
インストール データベース拡張 (例 mysqli
)(上記の4番目のポイントに従って)。
MAMPについては、次を参照してください Drushは私のMacでは機能しません
MAMPを使用しているので、正しいバージョンのphp
バイナリ(which php
で確認)を実行していることと、/Applications/MAMP/bin/php/php5.X.X/bin/php
を指していることも確認してください。そうでない場合は、rcファイルのPATH
にパスを追加してください(例:~/.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 for Windowsの場合も同様に、C:\xampp\mysql\bin
を環境変数PATH
に追加します。
drush
コマンドが何らかの理由で失敗した場合、drush(シェルコマンド)をデバッグするための推奨手順を以下に示します。
xdebug
extension をインストールして有効にします。 php71 -i | grep xdebug
で確認します。drush status
に存在することを確認します。トレースファイルを生成します。
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
で指定します。
成功した場合、トレース出力ファイルは最後に出力されるはずなので、メモしておいてください。
次に、トレースファイルを開いて確認します。
Drushの出力をクリーンなDrupalでテストまたは比較するには、次のようにして空のフォルダーに新しいDrupalをインストールします。
drush -y qd --no-server --core=drupal-8
cd quick-drupal-*/drupal*
drush status
MAMPを実行しているMacの新しいDrush 8でも同じ問題がありました
これを.bash_profileエクスポートPATH =/Applications/MAMP/Library/bin /:$ PATHに追加する必要があります。
追加したら、bashを再起動する必要があるため、現在のウィンドウでは機能しないため、新しいターミナルウィンドウを必ず開いてください。
Drushを使用してオールキャッシュをクリアするには、wwwまたはhtdocsディレクトリのようにサイトディレクトリが置かれているターミナルのサイトのディレクトリに移動し、その後、次のコマンドを実行してプロジェクトフォルダに移動する必要があります。
drush cc all
@kenorbが言ったように、drush -vd cc all
、それはあなたに詳細に何が起こっているかについての良い考えを与えます。私の場合、それはエラー"mysql command not found"
。 mysqlのパスを環境変数に設定することで解決しました。 DrushとMySQLの両方のパスもチェックして、機能するかどうかを確認する必要があると思います。
ありがとう!!
MAMP Proを実行しているので、この行を~/.bash_profile
ファイル:
export PATH=$PATH:/Applications/MAMP/Library/bin
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の設定を参照してください。