12.1. Установка Drush 8 на Open Server.

drush 8

В этой статье мы не будем писать код, но подготовимся к написанию кода. Для этого мы установим Drush. Drush - это утилита для консоли, которая позволяет выполнять многие рутинные операции с друпалом: обновлять модули, выгружать/загружать конфигурацию, делать бекап и многое другое.

Если вы используете Open Server в качестве веб сервера для разработки, то эта инструкция подойдет вам:

1. Установите сам сервер. Скачать можно с сайта автора  open-server.ru. Установка и документация там же.

2. После установки Open Server или если у вас уже уставновлен Open Server, нужно прописать в PATH переменную Windows.


C:\Users\iwan\AppData\Roaming\Composer\vendor\bin;C:\OpenServer\modules\php\PHP-5.6;C:\OpenServer\modules\database\MySQL-5.5\bin 

 

drush 8

Это нужно для того чтобы избавиться от этой ошибки:
needs a higher bootstrap level to run... 

drush 8

Также Open Server использует свою Path переменную. В настройках выставьте использование переменной Path системы. Также нужно создать файл в папке: \userdata\config\path.txt и продублировать туда свою Path переменную.

 

drush 8

3. Установите Composer: https://getcomposer.org/download/

Composer это также консольная утилита, но только она работает со множеством библиотек на PHP. Она позволяет поддерживать актуальные версии ваших библиотек. Если установка пройдет гладко, то вы можете проверить работу composer из любого места, для этого достаточно запустить комманду, которая покажет версию вашего composer: 

composer -V 

4. Установливаем сам Drush:

composer global require drush/drush:8.*

Нам нужна версия drush не ниже 8ой. Дальше выполняем установку:

composer global install

Теперь drush будет доступен для любого сайта. Чтобы проверить какая версия Drush у вас стоит выполните комманду:

drush version

 Если в вас drush заработал, то вы увидите вашу версию drush. В следующих статьях мы разберем как пользоваться drush'ем. Если у вас возникли ошибки, то можете писать в комментариях, будем разбираться.

Комментарии

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook
(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Сейчас расскажу вам такую

Сейчас расскажу вам такую историю, буквально на днях случилась:

В drupal 8 была ошибка, когда заходим в конфигурацию сайта, выскакивала ошибка о том что нужно удалить синонимы в Conten, и в Taxonomy. Я давай рыть в интернете как с этим бороться, нашел два пути решения, 

1) Первый самый простой это прописать в index.php drupal код для обновлении базы, обновить страницу сайта и затем убрать новый код с index.php.  
2) Нужно через drush запустить команду entity-update и все 
Мне так понравилось что через drush можно все решить 1 строчкой, да и вообще углубился и понял что drush очень полезная утилита. 

Ну вот тут все и началось, скачал drush 8 только он подходит для drupal 8. Установил программу  PuTTY для SSH, также включил на хостинге данную фичу. Работа через SSH у меня тоже первый раз поэтому все было в новинку. Начал лазить в консоли разобрался, где все находится, зашел в папку с drush выполнил команду для $ ./drush/drush st - проверить статус, выходит ошибка, не достаточно прав. Узнал в инете что нужно через chmod увеличить права до X (разрешение на запуск скрипта)
Затем снова запускаю утилиту, выдает 2 ошибки PHP ...."["   - я php программист и сразу понял что это из-за версии PHP. Для drush 8 нужен интерпретатор 5.4.5+ а у меня на хостинге ниже. Зашел на хостинг (я помню, что ставил PHP 7.0 в панели у сайта, и сам друпал у меня на PHP7) написал в тех поддержку, они мне сказали что на хостинге PHP7 а для SSH используется 5, и написали мне путь для PHP7 
Мои следующие действия в консоле

$ путь_к_php7/php ./drush/drush st

Все работает как надо, я обрадовался и давай дальше вводить

$ путь_к_php7/php ./drush/drush entity-update 

затем выходит сообщение, с которым нужно согласится [y/n] я жму "y", и потом снова выходят ошибки связанные с версией PHP. Тех поддержка мне сказала, что я должен сделать alias для команды и тогда все скрипты будут автоматом запускаться с версией PHP7. Вот тут я застрял. Они мне сказали "Вы можете настроить alias для команды php с указанием необходимого Вам обработчика, создав файл  .bash_profile в корне аккаунта. Подробная информация по написанию alias вопросу доступна в сети интернет.". Так вот собственно и вопрос:

Как сделать так чтобы drush 8 и все его скрипты запускались на PHP7 ну или хотя бы 5.4.5+ через alias ?

После выполнения команды

После выполнения команды composer global require drush/drush:8.* в консоле появилась ошибка: Skipped installation of bin drush.bat for package drush/drush: name conflicts with a
n existing file
Что это может быть?

Нужно добавить путь к папки

Нужно добавить путь к папки где лежит drush в переменную PATH: "%USERPROFILE%\AppData\Roaming\Composer\vendor\bin"

В настройках Open Server'а не забудьте выставить использование дополнительных мест для переменной PATH, как написано в статье.