web-dev-qa-db-ja.com

DrushリクエストとHTTPリクエストを区別する方法

関数がDrushから呼び出されたか、実際のHTTPリクエストから呼び出されたかをどのように区別できますか?

6
BetaRide

DrushはPHP CLI(コマンドラインインターフェース)で実行されるため、おそらく この質問 が役立ちます。

3
wiifm

Drush.phpから:

function_exists('drush_main')は、drushから呼び出されているかどうかを検出するためにモジュールで使用できます。 http://drupal.org/node/1181308 および http://drupal.org/node/827478 を参照してください

8
greg_1_anderson

Drupal 7:

if (drupal_is_cli()) {
  // Cli only code here
}

drushを具体的にチェックする場合は、上記をdrush_mainのチェックとともに使用します。

if (drupal_is_cli() && function_exists('drush_main')) {}

Drupal 8

if (PHP_SAPI == 'cli') {
  // CLI only code here
}

D8の変更ログ: https://www.drupal.org/node/2295037

4
lslinnet

コマンドラインからのリクエスト

Drupal 7の場合、drupal_is_cli()を使用します

Drupal 5、6、8の場合、_PHP_SAPI == 'cli'_を使用します

ドラッシュからのお願い

常にfunction_exists('drush_main')を使用します

0
Jimmy Ko