Устанавливаем Composer на виртуальном хостинге

Введение

В этой статье для примера используется виртуальный хостинг от jino.ru, но в целом алгоритм одинаков для всех провайдеров.

Подключаемся к серверу через SSH

Во-первых, вам нужно убедиться, что ваш виртуальный хостинг предоставляет возможность работы с помощью SSH. В случае с хостингом от jino.ru, у вас должна быть включена услуга «Поддержка SSH»:

Поддержка SSH на хостинге Джино
Список ваших подключенных услуг на хостинге Джино можно посмотреть по ссылке https://cp-hosting.jino.ru/services/

Во-вторых, у вас должны быть данные для подключения к SSH. По-умолчанию логин/пароль от SSH совпадает с логином/паролем от личного кабинета Джино. В качестве хоста можно использовать любой домен, привязанный к вашему хостингу (или техдомен, который имеет формат ваш_логин.myjino.ru).

Вам также надо убедиться, что вашему IP-адресу разрешен доступ к SSH. Для этого перейдите в раздел https://cp-hosting.jino.ru/management/ssh/:

Настройки SSH на хостинге jino.ru

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

Как видно из скриншота, в этом же разделе вы можете изменить пароль доступа к SSH.

Теперь подключимся к хостингу через SSH. Я использую ОС Ubuntu, поэтому покажу, как это делается в данной системе. Если у вас Windows – для работы с SSH можете использовать программу putty.exe: https://www.putty.org/

В Ubuntu открываем терминал и вводим команду:

ssh username@domen.ru

Где username – логин, domen.ru – хост. Затем у вас запросят пароль – введите его. Если пароль введен верно — появится возможность вводить команды:

Подключаемся к серверу по SSH

Переходим в папку проекта, для которого будем устанавливать composer. В моем случае — это composer.alfavitka.ru. Команда:

cd domains/composer.alfavitka.ru

Узнаем путь к исполняемому файлу интерпретатора PHP на хостинге

Для установки композера нам нужно знать путь к исполняемому файлу интерпретатора PHP. В случае с хостингом Джино, эта информация есть в разделе FAQ по ссылке https://jino.ru/help/faq/php/path-to-php/#path-to-php:

Путь к PHP

В моем случае PHP работает как модуль Apache, версия PHP – 7.1. Следовательно, путь к исполняемому файлу = php7.1, он пригодится нам на следующем шаге.

Устанавливаем Composer

Чтобы установить композер, нам осталось выполнить несколько команд. Я не буду прикладывать список этих команд, т.к. с каждой версией композера они меняются. Получить актуальный список команд можете по ссылке https://getcomposer.org/download/. На момент написания статьи, список команд выглядит следующим образом:

Команды для установки Composer
Важный момент: в начале каждой команды нам нужно использовать свой путь к исполняемому файлу PHP (который мы получили на предыдущем шаге). Т.е. в данном примере не php, а php7.1.

Поочередно вводим необходимые команды и получаем следующее:

Composer установился

Если откроем папку нашего проекта через FTP, то увидим там файл composer.phar:

Файл композера в FTP менеджере

Это означает, что Composer установился.

Пример установки пакета с помощью Composer

Теперь мы можем устанавливать пакеты с помощью композера в папку нашего проекта. В моем случае была необходимость установить библиотеку для работы с переводчиком гугла: https://github.com/Stichoza/google-translate-php/ — давайте для примера её и установим :)

Находясь в папке проекта, куда мы только что установили композер, вводим команду:

php7.1 composer.phar require stichoza/google-translate-php

Ждем, пока всё установится:

Установка пакета через Composer

После установки в папке проекта получаем вот что:

Пакет установлен

Теперь, чтобы использовать эту библиотеку, нам достаточно подключить в своем проекте файл /vendor/autoload.php

Возможные ошибки и их решение

Если при установке композера получаете ошибку:

Error in argument 1, char 2: option not found r

Значит вы используете неправильный путь к исполняемому файлу PHP, внимательно перечитайте разделы Узнаем путь к исполняемому файлу интерпретатора PHP на хостинге и Устанавливаем Composer

Если при установке пакета получаете ошибку:

composer: command not found

Значит вы неправильно ввели команду для установки пакета. Вероятно, вы попытались ввести что-то типа:

composer require stichoza/google-translate-php

А нужно:

php7.1 composer.phar require stichoza/google-translate-php

Тэги: