Drupalマルチサイトがセットアップされています。2つのサイトが含まれていますが、コアDrupalインストールにはサイトがありません。
Drushでは、@ sitesを使用してすべてのサイトをターゲティングできます。例えば:
drush @sites -y cc all
-すべてのマルチサイトを更新しますdrush @sites -y en jqmulti
-すべてのマルチサイトにJqueryをインストールしますただし、コアフォルダーにサイトがインストールされていないため、コアサイトが見つからないというエラーメッセージが常に表示されます。 Drushを使用してサブマルチサイトのみを更新し、コアマルチサイトをスキップする方法はありますか?
サブサイトのサイトディレクトリからDrushを実行できることはわかっていますが、すべてのサイトをターゲットにしたい場合は、あまり便利ではありません。
私がマルチサイトを使用している理由は、両方のサイトがテーマとユーザーログインを共有しているためです。
「コアサイト」とは、sites/default
にあるサイトですか? sites/default/settings.php
のsettings.phpファイルを削除するだけのオプションですか?
エイリアスファイルでエイリアスを管理する場合は、ファイル~/.drush/mysite.aliases.drushrc.php
を作成します。
$root = '/path/to/root';
$aliases['site1'] = array(
'root' => $root,
'uri' => 'site1.com',
);
$aliases['site2'] = array(
'root' => $root,
'uri' => 'site2.com',
);
例は this link を参照してください。
次に、1つのサイトを参照するには:
drush @site1 status
drush @mysite.site1 status
すべてのサイトを参照するには:
drush @mysite status
たぶん、これよりももっと豪華にしたいかもしれません。エイリアスファイルにさらにエイリアスがある場合(「dev」サイトや「live」サイトの場合など)、独自のリストを作成できます。
$aliases['dev'] = array(
'site-list' => array('site1', 'site2'),
);
次に:
drush @mysite.dev status
必要に応じて、エイリアスファイルを/path/to/root/drush
または/path/to/root/sites/all/drush
に保存することもできますが、これを行うと、コマンドラインで--rootを指定しない限り、Drushはエイリアスファイルを見つけることができません。または、作業ディレクトリを/path/to/root
のどこかに変更します。
リモートサイトでコマンドを実行するには、新しい Drushエイリアスファイル をセットアップする必要があります。通常、ファイルには<project_name>.drushrc.php
という名前を付けます。
次に、このファイルを、ログインしたユーザーのホームディレクトリの.drush
ディレクトリに配置する必要があります。
サンプルDrushエイリアスファイルのこのリンク を参照してください。
ファイルを設定した後、drush cc drush
を実行してDrushキャッシュをクリアし、新しいエイリアスファイルを取得できるようにします(注:これは一部の環境では必要ない場合があります)。
UPDATE:AcquiaまたはPantheonでリモートサイトをホストしている場合は、エイリアスファイルを直接ダウンロードできます。
のエイリアスファイルをダウンロードするには
https://accounts.acquia.com/account/<login_id>/security?site=insight
にアクセスし、リンクからエイリアスをダウンロードします。 https://dashboard.pantheon.io/users/<user_id>#sites/list
にアクセスしてエイリアスファイルをダウンロードします