Я пробовал несколько способов создать псевдоним для моего локального проекта Drupal, я имею в виду:
https://www.drupal.org/node/1401522
https://www.drupal.org/project/drush/issues/831272
https://www.drupal.org/project/drush/issues/786766
Я могу подключиться, выполнив эту команду:
drush --root=C:/wamp64/www/executive-coatings --uri=http://localhost:81/executive-coatings status
Выход :
Drupal version : 8.6.13
Site URI : http://localhost:81/executive-coatings
DB driver : mysql
DB hostname : localhost
DB port : 3306
DB username : root
DB name : dev_ecc_new
Database : Connected
Drupal bootstrap : Successful
Default theme : ecc_front
Admin theme : adminimal_theme
PHP binary : C:\wamp64\bin\php\php7.2.10\php.exe
PHP config : C:\wamp64\bin\php\php7.2.10\php.ini
PHP OS : WINNT
Drush script : C:\wamp64\www\executive-coatings\vendor\bin\drush.phar
Drush version : 9.6.2
Drush temp : C:\Users\k\AppData\Local\Temp
Drush configs : C:/Users/k/.drush/drush.yml
C:/wamp64/www/executive-coatings/vendor/drush/drush/drush.yml
Install profile : minimal
Drupal root : C:\wamp64\www\executive-coatings
Site path : sites/default
Files, Public : sites/default/files
Files, Temp : /tmp
Но когда я пытаюсь использовать псевдоним drush, это не работает. Вот мой файл псевдонима:
$aliases['local'] = array(
'uri' => 'localhost:81/executive-coatings',
'root' => 'C:/wamp64/www/executive-coatings',
'path-aliases' => array(
'%dump-dir' => '/tmp',
),
);
Бег drush @local status
возвращается [preflight] The alias @local could not be found.
Я думаю, что поместил свой файл псевдонима в неправильный каталог, можете ли вы указать правильный путь?
Расположение файла псевдонима здесь не единственная проблема, потому что вы используете Drush 9.x. Вот основные изменения между Drush 8.x и Drush 9.x в отношении псевдонимов:
Псевдонимы сайта больше не являются файлами PHP, а являются файлами YAML. Надеемся, что Drush 9.x поставляется с командой для преобразования ваших старых псевдонимов drush 8:
drush site:alias-convert
Расположение псевдонимов пользователей, используемых в Drush 8 (~/.drush/sites
, /etc/drush/sites
), по умолчанию больше не анализируется, но вы можете зарегистрировать любое место, где могут быть размещены файлы псевдонимов, в вашем файле конфигурации ~/.drush/drush.yml
. Установку старых путей Drush 8 можно выполнить автоматически, запустив:
drush core:init
Он пишет следующее в ~/.drush/drush.yml
:
drush:
paths:
alias-path:
- '${env.home}/.drush/sites'
- /etc/drush/sites
Например, в вашем случае определение среды местный для веб-сайта исполнительные покрытия с псевдонимом екк может быть выполнено в файле (при условии, что это место зарегистрировано, как указано выше) ~/.drush/sites/ecc.site.yml
.
Вы также можете определить псевдонимы окружающая обстановка (например, @dev, @preprod и т. д.) для данного веб-сайта в следующем месте (в корне проекта этого веб-сайта, используя себя в имени файла):
<DRUPAL_ROOT>/drush/sites/self.site.yml
Полезные ссылки :
- https://github.com/drush-ops/drush/blob/master/examples/example.site.yml
- https://github.com/consolidation/псевдоним сайта
Как вы видите, в моем вопросе указано «Версия Drupal: 8.6.13», но вы упомянули, что моя версия Drupal — 9, у вас есть идеи?
Я упомянул вашу версию Друш: Drush version : 9.6.2
. Однако это сбивает с толку, потому что версии Drush и Drupal не связаны, см. docs.drush.org/en/master/install/#drupal-совместимость.
Можешь и это проверить, stackoverflow.com/q/55610481/9246297
Спасибо, это правильно. Я пытаюсь использовать файл .yml, и он работает.