Как отличить drush от HTTP-запроса


Как я могу отличить, вызывается ли функция из drush или реальным HTTP-запросом?

 6
Author: wiifm, 2011-08-01

4 answers

Drush - это PHP, выполняемый через интерфейс командной строки (CLI), поэтому, возможно, этот вопрос может помочь.

 3
Author: wiifm, 2017-05-23 12:41:25

Из drush.php :

function_exists('drush_main') может использоваться модулями для определения того, вызываются ли они из drush. См. http://drupal.org/node/1181308 и http://drupal.org/node/827478

 8
Author: greg_1_anderson, 2012-03-06 15:02:26

В 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

 5
Author: lslinnet, 2015-06-12 11:57:16

Запрос из командной строки

Для Drupal 7 используйте drupal_is_cli()

Для Drupal 5, 6 и 8 используйте PHP_SAPI == 'cli'

Запрос от drush

Всегда используйте function_exists('drush_main')

 0
Author: Jimmy Ko, 2016-08-17 10:28:08