Раздел помощи SpaceWeb

Как установить PHP Composer на виртуальный хостинг

01 окт, 2024

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

Что такое PHP Composer 

PHP Composer – это менеджер зависимостей для PHP, который значительно упрощает процесс работы с библиотеками и пакетами в проектах. 

По сути, Composer – PHP-скрипт, который автоматически выполняет множество задач, связанных с установкой, обновлением и управлением библиотеками. Вместо того чтобы вручную искать нужные пакеты и настраивать зависимости, воспользуйтесь Composer – он сделает это за вас, обеспечив правильное взаимодействие всех компонентов проекта.

Основные возможности Composer:

  • автоматический поиск и установка библиотек по их названию;
  • возможность установки пакетов из различных репозиториев, таких как git, hg, svn;
  • обновление как самих библиотек, так и их зависимостей;
  • подбор и настройка всех зависимостей для каждой библиотеки;
  • простое добавление PHP-пакетов в проект;
  • создание пакетов для библиотек;
  • установка пакетов в текущую директорию, что позволяет работать с разными версиями библиотек в разных проектах.

Принцип работы PHP Composer

PHP Composer управляет зависимостями проекта на основе конфигурационных файлов и команд, обеспечивая их автоматическую установку, обновление и настройку. Рассмотрим поэтапно, как работает Composer:

  1. Создание файла composer.json. Этот файл – основной конфигурационный документ для Composer. В него вносятся все зависимости, необходимые проекту, а также требования к версиям библиотек. Его можно создать вручную или автоматически с помощью команды «composer init».
  2. Загрузка зависимостей. После того как зависимости указаны в composer.json, Composer загружает и устанавливает необходимые пакеты из репозитория пакетов, которым по умолчанию является Packagist. Все сторонние библиотеки сохраняются в директории vendor проекта.
  3. Создание файла composer.lock. Во время установки зависимостей Composer генерирует файл composer.lock, в котором фиксируются точные версии всех установленных библиотек. Этот файл необходим для того, чтобы при переносе проекта на другую среду (например, на сервер или к другому разработчику) использовать те же версии пакетов, что и в исходном проекте.
  4. Автозагрузка классов. Composer создает файл autoload.php, который автоматически подключает все установленные библиотеки в проект. Это позволяет разработчикам использовать загруженные пакеты без необходимости вручную включать каждый файл.
  5. Обновление пакетов. При необходимости Composer может обновить как конкретные пакеты, так и все зависимости проекта через команду «composer update». При обновлении все версии пакетов фиксируются в composer.lock, что обеспечивает стабильность проекта.

Важно! Composer поддерживает работу не только с центральным репозиторием packagist.org, но и с другими git/hg/svn репозиториями. Это позволяет устанавливать пакеты из различных источников и репозиториев произвольной структуры.

Установка Composer на виртуальный хостинг 

  1. В первую очередь вам нужно подключиться к серверу через SSH. Для этого откройте терминал и введите команду:
ssh userlogin@111.111.111.111

Где «userlogin» – это ваш логин на хостинге, а «111.111.111.111» – IP-адрес сервера. 

Эти данные можно найти в письме от провайдера или в личном кабинете вашего хостинга. После успешного подключения вы увидите, что каждая строка начинается с «-bash-4.2$». 

  1. Задайте переменные среды, которые помогут использовать нужную версию PHP:
PHP_PATH=/opt/php/ваша-версия/bin
PHP=$PHP_PATH/php

Например, если вы используете PHP версии 8.1, переменная будет выглядеть так: 

/opt/php/8.1/bin 

Теперь в процессе установки не потребуется вводить полный путь к PHP, переменной $PHP будет достаточно. 

  1. В корневой папке услуги создайте каталог, куда будет установлен Composer. Это делается с помощью команды:
mkdir -p ~/bin

Команда создаст папку bin, в которую вы установите Composer.

  1. Создав каталог, перейдите в него:
cd ~/bin

  1. Чтобы загрузить установочный файл Composer и запустить его, пропишите следующие команды:
curl -sS https://getcomposer.org/installer > composer-setup.php
cd ~
$PHP bin/composer-setup.php --install-dir=bin --filename=composer

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

  1. Чтобы каждый раз не указывать полный путь до PHP и Composer, создайте файл «.profile», добавив в него нужные настройки. Выполните следующие команды:
echo "PATH=\"$PHP_PATH:\$PATH\"" >> ~/.profile
echo "alias composer='$PHP $HOME/bin/composer'" >> ~/.profile

Где «$HOME» – это путь к домашнему каталогу пользователя. Убедитесь, что вы заменили переменную $HOME на правильный путь к вашему каталогу.

  1. Чтобы настройки применялись при каждом подключении к серверу, добавьте их в файл «.bashrc» и примените изменения:
echo 'source ~/.profile' >> ~/.bashrc
source ~/.profile

  1. Чтобы убедиться в том, что установка прошла успешно, введите в терминале команду:
composer

Если установка прошла успешно, вы увидите ответ с информацией о версии Composer и доступных командах. 

Теперь Composer установлен и готов к использованию на вашем виртуальном хостинге.

Основные команды для работы с Composer PHP

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

Ниже приведены основные команды для работы с Composer:

Команда

Описание

composer require vendor/package

Устанавливает пакет и его зависимости, обновляет файлы composer.json и composer.lock.

composer install

Устанавливает все пакеты, указанные в composer.lock, или создает этот файл, если его еще нет.

composer update

Обновляет все зависимости до их последних версий и обновляет файл composer.lock.

composer update vendor/package

Обновляет зависимости только для указанного пакета.

composer remove vendor/package

Удаляет указанный пакет и обновляет файлы composer.json и composer.lock.

composer self-update

Обновляет сам Composer до последней доступной версии.

composer update --lock

Обновляет только файл composer.lock без обновления пакетов.

composer show

Отображает список всех установленных пакетов в проекте.

composer validate

Проверяет файл composer.json на наличие ошибок и соответствие стандартам.

composer depends vendor/package

Показывает зависимости для указанного пакета.

composer clear-cache

Очищает внутренний кеш Composer.

composer list

Выводит список всех доступных команд Composer.

Рассмотрим их более подробно. 

Установка пакетов

Чтобы установить конкретный пакет, используется команда:

composer require vendor/package

Где vendor – это имя поставщика пакета, а package – название самого пакета. 

Эта команда не только загружает пакет, но и добавляет его в файл composer.json и автоматически устанавливает все его зависимости. 

Если у пакета есть другие библиотеки, от которых он зависит, они также будут загружены и установлены. Файл composer.lock обновится, чтобы зафиксировать версии пакетов и зависимостей.

Установка всех пакетов проекта

Если вам нужно установить все пакеты, которые прописаны в composer.json, используйте команду:

composer install

Она проверит наличие файла composer.lock и установит версии пакетов, указанные в нем. 

Если файл composer.lock отсутствует, Composer создаст его, настроив зависимости на основе composer.json. Это особенно полезно при развертывании проекта на новом сервере или на локальной машине.

Обновление всех зависимостей

Чтобы обновить все установленные зависимости до их последних версий, выполните команду:

composer update

Она обновит зависимости, прописанные в composer.json, до актуальных версий из репозитория. Также обновится файл composer.lock, который зафиксирует версии обновленных пакетов.

Обновление конкретного пакета

Если вам нужно обновить только один пакет или несколько пакетов, воспользуйтесь командой:

composer update vendor/package

Здесь vendor – это имя поставщика пакета, а package – его название. 

Вы также можете указать несколько пакетов через пробел, если хотите обновить сразу несколько зависимостей.

Удаление пакетов

Чтобы удалить пакет из проекта, пропишите:

composer remove vendor/package

Эта команда удалит указанный пакет и все его зависимости, которые больше не нужны проекту. После этого обновляются файлы composer.json и composer.lock, чтобы удалить информацию о пакете и его зависимости.

Обновление самого Composer

Чтобы обновить Composer до самой последней версии, используйте команду:

composer self-update

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

Обновление только файла composer.lock

Иногда требуется обновить файл composer.lock без фактического обновления пакетов. Для этого можно использовать:

composer update --lock

Эта команда обновит только composer.lock, не изменив установленные зависимости.

Просмотр всех установленных пакетов

Чтобы увидеть список всех установленных пакетов в проекте, выполните команду:

composer show

В выводе вы получите подробную информацию обо всех пакетах, которые установлены в проекте, включая их версии и описание.

Проверка валидности composer.json

Проверить корректность файла composer.json и его структуры вы можете с помощью команды:

composer validate

Она помогает обнаружить ошибки или несоответствия в файле composer.json.

Просмотр зависимостей конкретного пакета

Чтобы увидеть зависимости конкретного пакета, выполните:

composer depends vendor/package

В выводе вы получите список всех библиотек, от которых зависит указанный пакет. Эта команда полезна при решении проблем с конфликтами версий.

Очистка кеша Composer

Чтобы очистить кеш Composer, введите команду:

composer clear-cache

Она очистит все временные файлы и данные, которые хранятся в кеше Composer. 

Просмотр всех доступных команд

Чтобы увидеть полный список всех команд, которые можно использовать в Composer, выполните:

composer list

Заключение

Следуя инструкциям, представленным в статье, вы сможете настроить Composer на вашем хостинге, установить необходимые библиотеки и оптимизировать процесс разработки.

Composer значительно упрощает работу с пакетами и позволяет поддерживать проект в актуальном состоянии, автоматически обновляя зависимости. Установив Composer, вы получите мощный пакетный менеджер, который будет полезен на всех этапах разработки и развертывания PHP-приложений.