web-dev-qa-db-ja.com

DrushサイトエイリアスでのURIの意味

Rsyncを使用するために、自分のサイトにDrushサイトのエイリアスを作成したいと考えています。ただし、URIの意味がわかりません。それは自分のサイトに割り当てた(サブ)ドメインですか、それともサイト/フォルダーですか?それがsites /フォルダであり、私がsites/defaultを使用している場合、それはURIを「デフォルト」にしますか?

$aliases['demosite.drupal7.local'] = array (
  'uri' => 'demosite.drupal7.local',
  'root' => '/var/www/drupal7',
);

更新

私の回答はdrush/examples/example.aliases.drushrc.phpにあります。

'uri':これは常に 'sites'フォルダー内のサイトのフォルダー名と同じである必要があります。

4
mtro

さて、あなたが上で引用しているその行を書きました(「uri」:これは常に「sites」フォルダー内のサイトのフォルダー名と同じである必要があります。 Drupal 7サイトを使用する場合。

これは、Drupal 7の決定的なガイドで「uri」について私が言うことです:

コマンドラインで使用されるURIは、サイトがWebブラウザーからアクセスされているときと同じでなければなりません。そのURIのsettings.phpファイルを含むフォルダーの名前を使用することもできます(例:--uri = default)。これは機能し、実際、[Drushが使用するサイトURIの観点から、cwdを使用してコアステータスを実行し、Drupal site]を選択する例に戻る参照)と同等です。 Drupalを呼び出すときに確認できます。これは、[同じリストへの後方参照]の「サイトURI」行の出力とこの出力を比較することで確認できます。正しいサイトURIが常に必要なわけではありませんが、たとえば、絶対URLを生成したり、同じホストにHTTPリクエストを返したりするため、可能な場合は常に正しいURIを設定することをお勧めします。

この引用はDrupal 7の場合は100%正しいですが、Drupal 6の場合は状況が少し複雑になります。D6では、-uriオプションの値は(それに対応して、ブラウザからサイトにアクセスするために使用されるURI)がデータベースに書き込まれることがあります。たとえば、settings.phpファイルがsites/mysite.org/settings.phpに保存されている場合、URI(ブラウザーから)は http://mysite.org です。状況によっては、データベースでパス "sites/mysite.org/files/myuploadfile.png"が見つかることがあります。ブラウザーからのURI Drupal(一部の用途))によって使用される前に、settings.phpを含むフォルダーの名前に変換されますが、Drushに渡される--uriオプションは常にそのまま使用されます。サイトフォルダーがデータベースに書き込まれているという事実は、開発サイト「http://dev.mysite.org」にサイトフォルダー「mysite.org」を引き続き使用すると便利なことがよくあります。もちろん、常に可能性があります。あなたのサイトフォルダが「デフォルト」と呼ばれていること(多くの場合、D6については良い考えです。したがって、-uri = dev.mysite.orgと--uri = mysite.orgと--uri = defaultはすべて機能する可能性があります(サイトを想定している http://dev.mysite.org これは、Drushのサイトを選択するための http://mysite.org の開発用コピーです(settings.phpファイルがデフォルトのフォルダーにあります)。--uri = defaultがあるEdgeのケースがあります。他のオプションは、同じコードでモジュールが見ているものと一致しないという点で優れています。反対に、--uri = mysite.orgが、ランタイム変数をモジュールでブラウザーに表示されるものに合わせるために必要なEdgeのケースもあります(dgd7の引用より上のc.f)。したがって、問題の真実は、D6にとって絶対的に最適な値は存在しないということです。 --uri = defaultの代わりに--uri = mysite.orgを使用するとパスが生成されてデータベースに書き込まれ、移行すると実際に問題が発生する可能性があるため、上記で引用した簡単なアドバイスがサンプルファイルで使用されましたデータベースをサイトの別のインスタンスに移動し、パスを解除します。

D6の場合、最も実用的なことは、サイトフォルダーに「sites/default」ではなく「sites/mysite.org」という名前を付けることです(そして、それが の場合も「sites/mysite.org」であることを確認してください) http://dev.mysite.org )。

Examples/example.aliases.drushrc.phpのアドバイスを次のように変更しました。

  • 'uri':Drupal 7の場合、-uriの値は、サイトがWebブラウザーからアクセスされているときと常に同じである必要があります(例 http:// mysite .org 、ただしhttp://はオプションです)Drupal 6の場合、-uriの値は常に「サイト」内のサイトのフォルダ名と同じである必要がありますフォルダー(デフォルトなど)。サイトフォルダー名がブラウザーからのURIと一致し、同じサイトのすべてのインスタンスで一貫していることが最適です(例: http:// devの場合は、sites/mysite.orgを使用します) .mysite.org )。
5
greg_1_anderson