Как установить PHP Composer на виртуальный хостинг
- Что такое PHP Composer
- Как установить Composer на виртуальный хостинг
- Основные команды для работы с Composer PHP
В этой статье мы рассмотрим, что такое Composer PHP, как его установить и какие команды можно использовать.
Что такое PHP Composer
PHP Composer ― это пакетный менеджер, который может быстро найти нужные пакеты/библиотеки/фреймворки, автоматически их скачать и установить со всеми зависимостями. Composer представляет собой обычную программу, написанную на языке php.
Он может устанавливать такие php-фреймворки, как Laravel, Yii2, Symfony, а также CMS ― Drupal, MODX 3 и многие другие. Также PHP Composer помогает легко обновлять и удалять пакеты.
Его главное достоинство ― автоматический поиск зависимостей. Что же такое «зависимости»? Представьте, вы создаёте какой-нибудь php-проект. В этом проекте будут различные файлы. Одни файлы вам понадобится написать с нуля, а некоторые можно взять в уже готовом виде от других проектов. Использование готовых разработок значительно облегчает и ускоряет работу над программой, но теперь ваш php-проект будет зависеть от пакетов из другого проекта. Таким образом, зависимости ― это потребность пакета в ресурсах, которые находятся в другом пакете.
Если вы устанавливаете какие-либо пакеты самостоятельно, то и зависимости придётся устанавливать самостоятельно. А их может быть очень много.
При установке php-пакетов с помощью Composer срабатывает autoload php Composer, который находит и автоматически устанавливает все зависимости вместе с устанавливаемым пакетом.
При установке менеджера создаётся два текстовых файла:
- composer.json,
- composer.lock.
composer.json — это основной файл менеджера. В нём содержится описание основных пакетов, которые необходимы для работы Composer, включая требования к их версиям, а также сторонние пакеты и их версии.
composer.lock — файл, в который сохраняются сами версии пакетов, устанавливаемые пользователем.
В качестве репозитория пакетов Composer использует packagist.org.
Также пакетный менеджер создаёт в корневой директории каждого проекта папку vendor и файл autoload.php. В vendor Composer загружает все сторонние библиотеки. С помощью файла autoload.php все загруженные библиотеки можно подключить к файлу с помощью одной команды.
Как установить Composer на виртуальный хостинг
Чтобы установить пакетный менеджер на сервер:
1. Подключитесь к серверу по SSH и введите в терминале команду:
ssh u1234567@123.123.123.123
Где:
- u1234567 — логин учётной записи хостинга,
- 123.123.123.123 — IP-адрес сервера.
Логин и IP-адрес указан в личном кабинете. Чтобы найти эти данные, перейдите в карточку хостинга и нажмите на Реквизиты доступа:
Если вы правильно подключились по SSH, каждая следующая строка будет начинаться с -bash-4.1$.
Совет. Чтобы далее было удобнее устанавливать программу, задайте переменную PHP. Для этого введите:
PHP_PATH=/opt/php/ваша_версия/bin
PHP=$PHP_PATH/php
Например, если на сайте используется php 5.3, введите /opt/php/5.3/bin.
В следующих этапах вы сможете использовать переменную PHP или прописывать полный путь /opt/php/ваша_версия/bin/php до файла php вручную.
2. В корневой папке создайте каталог, в который будет установлен composer:
mkdir -p bin
3. Перейдите в созданный каталог:
cd bin
4. Скачайте composer в созданный каталог bin. Для этого введите три команды:
curl -sS https://getcomposer.org/installer > composer-setup.php
cd ~
$PHP bin/composer-setup.php --install-dir=bin --filename=composer
5. Чтобы запускать нужную версию php и установленный composer из командной строки по команде php, создайте файл .profile. Для этого введите команды:
echo "PATH=\"$PHP_PATH:\$PATH\"" >> ~/.profile
echo "alias composer='$PHP $HOME/bin/composer'" >> ~/.profile
Где $HOME ― домашний каталог пользователя.
6. Чтобы при следующем подключении к серверу composer запустился корректно, добавьте строки:
echo 'source ~/.profile' >> ~/.bashrc
source ~/.profile
7. Проверьте установку. Для этого введите команду:
composer
Готово, если установка прошла правильно, терминал ответит:
Основные команды для работы с Composer PHP
У Composer нет графического интерфейса. Работа с утилитой происходит через терминал или консоль, то есть с помощью ввода команд через командную строку. Здесь мы расскажем, как пользоваться Composer PHP, какие команды можно использовать.
Чтобы установить пакет, введите команду:
composer require vendor/package
Где:
- vendor — имя поставщика php-пакета,
- package — название пакета.
Библиотека будет загружена, а затем прописана в файл composer.json. Если у пакета есть зависимости от других библиотек, они будут установлены и обновлены командой composer require PHP. Также после этого обновится файл composer.lock.
Чтобы установить все пакеты сразу, введите:
composer install
Команда проверит наличие файла composer.lock и установит Composer PHP version, которые в нём прописаны. Если файл composer.lock ещё не существует, команда сгенерирует его и настроит зависимости.
Чтобы обновить все зависимости до последней версии, укажите команду:
composer update
Чтобы обновить зависимость для конкретного пакета, в консоли укажите:
composer update vendor/package
Где:
- vendor — имя поставщика php-пакета,
- package — его название.
Если вам нужно обновить зависимости для нескольких пакетов, перечислите их через пробел.
Чтобы удалить пакет, введите:
composer remove vendor/package
Где:
- vendor — имя поставщика php-пакета,
- package — название пакета.
Если вам нужно удалить сразу несколько пакетов, перечислите их через пробел.
Чтобы обновить пакетный менеджер до самой актуальной версии, используйте команду:
composer self-update
Чтобы обновить только файл composer.lock без учёта пакетов, введите:
composer update --lock
Для просмотра всех установленных PHP-пакетов введите:
composer show
Для проверки валидности файла composer.json введите:
composer validate
Для просмотра всех зависимостей конкретного пакета используйте команду:
composer depends vendor/package
Где:
- vendor — имя поставщика php-пакета,
- package — название пакета.
Чтобы очистить внутренний кэш всех пакетов, укажите в консоли:
composer clear-cache
Узнать все доступные команды менеджера можно командой:
composer list