Не буду расписывать как утилита drush облегчает жизнь друпалеру, об этом вы и сами знаете.
Но вот на виртуальных хостингах он присутствует только на специализированных. А как быть, если вы используете что-то иное? Мы в своей практике рекомендуем клиентам пользоваться услугами хостинга timeweb.com - стабильная работа, недорогие тарифы, сервера в РФ, возможность оплаты по безналичному расчету. В общем, весьма приятный вариант. Далее я расскажу как достаточно быстро настроить драш на примере этого хостинга.
Установка Composer
Благо есть инструкция, правда найти ее на сайте таймвеба сложно. Пришлось гуглить, и то потому что я знал, что она там есть)
Итак инструкция - http://timeweb.com/ru/help/pages/viewpage.action?pageId=8781936
1. Подключитесь к серверу по SSH и скачайте дистрибутив с официального сайта:
wget https://getcomposer.org/composer.phar
2. Добавьте alias для упрощенного запуска в файл .bash_profile (.bashrc - можно, но необязательно) - этих файлов по умолчанию нет, просто создайте их в домашней директории (в примере PHP 5.6; может быть использована другая версия):
alias composer='/opt/php7.0/bin/php -d memory_limit=500M /home/u/user/composer.phar'
(u и user - первая буква Вашего логина и Ваш логин). Команда pwd поможет вам узнать букву и логин. Так же вместо php56 можно использовать php7.0 (/opt/php7.0/bin/php)
Либо работаем от домашней папки
alias composer='/opt/php7.0/bin/php -d memory_limit=500M ~/composer.phar'
3. Перезапустите соединение по SSH (или выполните команду source .bash_profile) и проверьте работу Composer:
composer -V
Если показалось что-то вроде
$ composer -V Composer version 1.5-dev (2c03dab4c38caa498e87fe3300360497ce1bb381) 2017-04-10 16:47:30
то все ОК, мы готовы ставить drush!
Установка Drush
Официальная инструкция - http://docs.drush.org/en/master/install/
Собственно следуем пунктам.
1. Качаем свежий драш
composer global require drush/drush
В результате в домашней директории появится папка .config/composer/vendor
2. Прописываем алиасы по аналогии с композером .bash_profile (.bashrc) следующими строками
alias drush='/opt/php7.0/bin/php -d memory_limit=500M ~/vendor/bin/drush.php'
и перезапускаем SSH-соединение.
3. Проверяем все ли верно получилось:
$ drush --version Drush Version : 8.1.10
Супер! Продолжаем работать ;)
UPD.
Если все же драш не заработал и начинает ругаться на версию PHP примерно так:
The external command could not be executed due to an application [error] error. The command could not be executed successfully (returned: PHP Parse [error] error: syntax error, unexpected '[' in /home/c/user_name/vendor/drush/drush/includes/preflight.inc on line 341, code: 255) pm-updatestatus failed.
То вам должно помочь следующее: укажите в файлах .bash_profile и .bashrc в первой строке версию PHP для работы Drush:
export DRUSH_PHP='/opt/php7.0/bin/php'
UPD2. Теперь DRUSH_PHP не работает. Необходимо прописать пути примерно так:
PATH="/opt/php70/bin:$PATH:~/.config/composer/vendor/bin"
Обратите внимание на путь /opt/php70/bin - он прописан до директории, а не самого исполняемого файла.
Огромная благодарность за помощь в решении вопроса Никите Малышеву и weitzman (https://github.com/drush-ops/drush/issues/2826 )
Итоговый .bash_profile будет выглядеть примерно так:
PATH="/opt/php70/bin:$PATH:~/.config/composer/vendor/bin" alias composer='/opt/php70/bin/php -d memory_limit=500M ~/composer.phar' alias drush='/opt/php70/bin/php ~/.config/composer/vendor/drush/drush/drush.php'
ЗЫ соответственно версия должна использоваться одинаковая. Пути смотрите на своем хостинге, в примере - timeweb.
URD3.
Справка на Таймвебе по композеру https://timeweb.com/ru/docs/virtualnyj-hosting/prilozheniya-i-frejmvorki/ispolzovanie-composer/
Комментарии
ср, 03/29/2023 - 14:51
-s
, чтобы создать символическую ссылку, она же soft link.-f
заставит команду перезаписать уже существующий файл.Добавить комментарий