Рейтинг:0

drush не находит правильный мультисайт settings.php

флаг in

У меня есть сайт Drupal 9, использующий мультисайт для поддержки как локальных, так и производственных хостов. Я определил их в site/sites.php:

$sites['www.electronovelty.com'] = 'www.electronovelty.com';
$sites['www.en9-local.pglatz.com'] = 'www.en9-local.pglatz.com';

и создал файлы настроек в

сайты/www.electronovelty.com/settings.php
сайты/www.en9-local.pglatz.com/settings.php

Используя xdebug, я проверил при открытии двух веб-сайтов, что используется правильный файл settings.php. Но когда я пытаюсь запустить drush 11, он почему-то использует настройки из sites/default/settings.php:

% броска cr -v                            
 [info] Запуск начальной загрузки на сайт
 [информация] Фаза загрузки Drush 2
 [информация] Попробуйте проверить загрузочную фазу 2
 [информация] Попробуйте проверить загрузочную фазу 2
 [информация] Попробуйте загрузиться на этапе 2
 [информация] Фаза начальной загрузки Drush: bootstrapDrupalRoot()
 [info] Изменить рабочий каталог на /Users/pglatz/dev/electronovelty/en9-www/web
 [info] Инициализирован корневой каталог Drupal 9.3.12 в /Users/pglatz/dev/electronovelty/en9-www/web
 [информация] Попробуйте проверить загрузочную фазу 2
 [информация] Попробуйте загрузиться на этапе 2
 [информация] Фаза начальной загрузки Drush: bootstrapDrupalSite()
 [информация] Инициализированный сайт Drupal по умолчанию в sites/default
 [успех] Восстановление кэша завершено.

Я попытался указать uri, и он находит правильный settings.php, но я также получаю ошибку «command nt found», которую я не понимаю:

% drush -l www.en9-local.pglatz.com -v cr
 [info] Запуск начальной загрузки на сайт
 [информация] Фаза загрузки Drush 2
 [информация] Попробуйте проверить загрузочную фазу 2
 [информация] Попробуйте проверить загрузочную фазу 2
 [информация] Попробуйте загрузиться на этапе 2
 [информация] Фаза начальной загрузки Drush: bootstrapDrupalRoot()
 [info] Изменить рабочий каталог на /Users/pglatz/dev/electronovelty/en9-www/web
 [info] Инициализирован корневой каталог Drupal 9.3.12 в /Users/pglatz/dev/electronovelty/en9-www/web
 [информация] Попробуйте проверить загрузочную фазу 2
 [информация] Попробуйте загрузиться на этапе 2
 [информация] Фаза начальной загрузки Drush: bootstrapDrupalSite()
 [info] Инициализированный сайт Drupal www.en9-local.pglatz.com по адресу sites/www.en9-local.pglatz.com
sh: ^www.en9-local.pglatz.com$: команда не найдена
 [успех] Восстановление кэша завершено.

Откуда берется эта ошибка и что она означает?

флаг cn
Возможно, проблема с расширением оболочки — попробуйте указать URL-адрес в кавычках.
флаг id
+1 вам нужно экранировать или заключать в кавычки определенные символы в определенных оболочках, особенно «-».
pglatz avatar
флаг in
Спасибо за предложения. Я пробовал двойные и одинарные кавычки в URL-адресе в командной строке, также пытался экранировать, но у меня та же проблема. Также пробовал --uri= вместо -w. Так что это проблема оболочки, из командной строки, а не что-то внутреннее? У меня есть Mac, использующий zsh, но я получаю аналогичную ошибку на своем пульте, используя ubuntu и bash.
Рейтинг:0
флаг de

У вас есть два варианта справиться с этим:

  1. Использовать отметьте с помощью команды drush: drush -l www.electronovelty.com cr

  2. Создайте псевдоним drush и вызовите псевдоним. Для создания псевдонимов вы можете создать файл /drush/sites/self.site/yml и поместить туда следующее содержимое:

     сайт1:
       uri: www.en9-local.pglatz.com
     сайт2:
       ури: www.electronovelty.com
    

    Затем вы можете использовать псевдонимы:

     драш @site1 кр
     драш @site2 кр
    

    И будет вызываться соответствующий мультисайт.

pglatz avatar
флаг in
Спасибо. Я попробовал `-l` во втором примере. Я только что создал псевдоним сайта, но все еще получаю предупреждение `sh: ^www.en9-local.pglatz.com$: команда не найдена`.
Jaypan avatar
флаг de
Кажется странным, что вы получаете ошибку оболочки для команды drush. Вы запускаете это в сценарии оболочки?
Jaypan avatar
флаг de
В любом случае, если вы получаете эту ошибку, это означает, что вы внесли ошибку где-то в свою систему с помощью какого-то собственного или пользовательского кода. Предложения, которые я дал, работают на мутлизированном сайте Drupal по умолчанию с Drush 11, поэтому, если вы получаете сообщение об ошибке, это относится к вашей системе.
pglatz avatar
флаг in
спасибо, поищу еще

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.