関数がDrushから呼び出されたか、実際のHTTPリクエストから呼び出されたかをどのように区別できますか?
DrushはPHP CLI(コマンドラインインターフェース)で実行されるため、おそらく この質問 が役立ちます。
Drush.phpから:
function_exists('drush_main')
は、drushから呼び出されているかどうかを検出するためにモジュールで使用できます。 http://drupal.org/node/1181308 および http://drupal.org/node/827478 を参照してください
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
Drupal 7の場合、drupal_is_cli()
を使用します
Drupal 5、6、8の場合、_PHP_SAPI == 'cli'
_を使用します
常にfunction_exists('drush_main')
を使用します