, → Drush на Linux и устранение проблем с Bootstrap

Drush (drupal shell) — интерфейс командной строки для работы с друпал сайтами. Не буду вам рассказывать о всех прелестях работы с drush… думаю, это очевидно, если попробовать… или почитать доки к нему. Установка drush на linux не всегда может пройти гладко и, судя по issues к drush, это не редкость. Но проблема решаема и довольно просто. Итак, начнем с установки drush.

До установки

До установки убедитесь, что у вас есть все необходимое. Drush работает с PHP в режиме CLI и минимальная версия PHP 5.2. Поэтому будет не лишним проверить всё ли у вас установлено. Если все есть — идем дальше.

Установка drush на linux

Поставим drush туда, куда он и сам устанавливается, а именно в домашнюю папку. Скачайте drush (http://drupal.org/project/drush) и распакуйте его сюда:

home/USER/.drush/drush

Затем добавим symlink или alias:

symlink
Выполните эту команду единожды и drush будет доступен для любого пользователя в системе.
# ln -s home/USER/.drush/drush/drush /usr/local/bin/drush
alias
Если вы устанавливаете drush на хостинге, чтобы работать через ssh и у вас нет возможности создать символьную ссылку, тогда алиас, для вас. Алиас будет работать в том профиле для которого создан. Для того, чтобы данный алиас добавлялся автоматически, пропишите его, например в файл .bash_aliases в вашем профиле, вот так:
alias drush="~/.drush/drush/drush"

А затем (если подобного нет, то) в файл .bashrc добавьте следующее:

source ~/.bash_aliases

Теперь откройте консоль и проверьте работает ли drush, просто наберите drush status. Если вы выполнили эту команду не из корневого каталога, какого-нибудь друпал сайта, а где-то еще, то вы увидите не более этого:

 PHP configuration     :  /etc/php/cli-php5.3/php.ini
 Drush version         :  4.0-rc5                    
 Drush configuration   :                              
 Drush alias files     :                              

Если же вы выполняете эту команду из корня друпал сайта, то увидите чуть больше информации.

Если вы видите, что drush определил файл конфига PHP (В строке PHP configuration), значит все нормально и вы можете переходить в каталог друпал сайта и работать. Вы закончили!

Устранение проблем с bootstrap

Если же у вас не определился конфиг php и drush status выдал вам следующее:

 PHP configuration     :          
 Drush version         :  4.0-rc5
 Drush configuration   :          
 Drush alias files     :

То и многие команды будут выдавать вам, что-то типа этого:

$ drush cc
Command cache-clear needs a higher bootstrap level to run - you will need invoke drush   [error]
from a more functional Drupal environment to run this command.
The drush command 'cc' could not be executed.                                            [error]
Drush was not able to start (bootstrap) the Drupal database.                             [error]
Hint: This error often occurs when Drush is trying to bootstrap a site that has not been
installed or does not have a configured database.

Drush was attempting to connect to :
  Drupal version    : 6.20
  Site URI          : http://default
  Database driver   : mysqli
  Database hostname : localhost
  Database username : xxx
  Database name     : xxx
  Default theme     : garland
  Administration theme: garland
  PHP configuration :
  Drush version     : 4.0-rc5
  Drush configuration:
  Drush alias files :
  Drupal root       : /var/www/example.com/www
  Site path         : sites/default
  Modules path      : sites/all/modules
  Themes path       : sites/all/themes
  %paths            : Array

You can select another site with a working database setup by specifying the URI to use
with the --uri parameter on the command line or $options['uri'] in your drushrc.php file.

Значит drush не определил путь до php, и, скорее всего, работать он откажется. Когда вы попытаетесь выполнить какую-либо команду, перейдя в директорию drupal сайта, drush покажет вам ошибку boostrap (хотя некоторые команды будут работать). В этом случае вам нужно ткнуть drush носом и указать путь php. Для этого выполните команду:

$ export DRUSH_PHP=/usr/bin/php

Теперь проверьте drush status. Если вы видите файл настроек пхп, то и вы почти закончили. Теперь просто, чтобы каждый раз не тыкать drush носом, пропишем и эту команду в .bashrc. Т.е. просто добавьте строку ниже в ваш файл .bashrc:

export DRUSH_PHP=/usr/bin/php

Всё, теперь он будет работать как положено!

RSS-материал

2 Комментария [Нет новых]

Аватар пользователя Гость

є сайт(d7) на хостингу, скопіював і розпакував в корінь, де лежать всі мої папки файли: середних я знайшов - .bash_profile, .bashrc, в обидва добавляв вставки(alias drush="~/.drush/drush/drush" source ~/.bash_aliases) нічого не помогло, при запиті drush status - повідомлення -не знайдено ні папки ні файла drush(або bash_aliases)тобто неправильно вказаний шлях. Як правильно поставити drush? із всіх варіантів "Google" тут вродіби вже всьо разписано, але все одно не виходить

Аватар пользователя EllECTRONC

Команду alias drush="~/.drush/drush/drush" надо добавлять в файл .bash_aliases, если у вас нет этого файла — создайте его. И проверьте все остальные пути, возможно drush.php у вас расположен в другом месте, тогда укажите полный путь до него. Для этого пройдите в директорию с файлом drush.php и выполните команду pwd и пропишите этот путь добавив /drush в команду алиаса:

alias drush="/ваш/путь/до/файла/drush"

К тому же, после того, как вы в первый раз все это пропишите вам нужно выйти из системы и снова зайти ИЛИ же выполните команду source ~/.bash_aliases в консоли и после этого работайте.

Что ты об этом думаешь?

МультиВход
ИЛИ

Комментарии