Использование Composer

Использование Composer

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

Глобальная установка Composer

Этот способ подойдет, если у вас отключена изоляция сайтов. Если изоляция включена, используйте инструкцию из раздела ниже.

Большинство фреймворков требуют при установке значительного объема memory_limit, поэтому перед установкой рекомендуем выполнить следующие действия:

  1. Подключитесь к серверу по SSH.
  2. Командой ниже модифицируйте переменную окружения PATH, добавьте алиас для упрощенного запуска в файл .bash_profile и задайте memory_limit:
echo -e "export PATH=/opt/php74/bin:\$PATH\nalias composer='/opt/php74/bin/php -d memory_limit=1024M /usr/local/bin/composer'\nalias php='/opt/php74/bin/php -d memory_limit=1024M'" >> ~/.bash_profile

В примере используется PHP 7.4; может быть указана другая версия.

  1. Для применения изменений перезапустите соединение по SSH, либо выполните команду ниже, чтобы обновить конфигурацию оболочки и воспользоваться Composer без переподключения:
source ~/.bash_profile

Установка другой версии Composer

Следующий однострочный скрипт установит последнюю стабильную версию Composer в директорию ~/.bin:

php_ver="php7.4"; mkdir -p ~/.bin && wget -qO ~/.bin/composer https://getcomposer.org/composer-stable.phar && chmod +x ~/.bin/composer && echo -e "export PATH=/opt/${php_ver}/bin:$HOME/.bin:\$PATH\nalias php='/opt/${php_ver}/bin/php -d memory_limit=2048M'\nalias composer='/opt/${php_ver}/bin/php -d memory_limit=2048M ~/.bin/composer'" >> ~/.bash_profile && source ~/.bash_profile && echo -e "\e[32;1mOK\e[0m"

Перед выполнением скрипта отредактируйте переменную php_ver в начале команды, указав нужную версию PHP вместо 7.4.

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

Использование Composer с изоляцией сайтов

При включенной изоляции сайт может обращаться только к файлам внутри своей директории. Если Composer установлен глобально или в другой директории, подключить установленные пакеты в код сайта не получится. Чтобы Composer и изоляция не конфликтовали, установите Composer в директорию сайта.

В примерах ниже используется сайт example.ru с PHP 8.2; укажите свои значения.

Не добавляйте переменные окружения в ~/.bash_profile, иначе Composer станет глобальным. Изоляцию отключать не нужно.

Установка Composer в директорию сайта

  1. Подключитесь к серверу по SSH и перейдите в директорию сайта:

cd ~/example.ru
  1. Установите Composer в директорию .composer/bin:

mkdir -p .composer/bin && wget -qO .composer/bin/composer https://getcomposer.org/composer-stable.phar
  1. Проверьте установку:

/opt/php82/bin/php .composer/bin/composer --version

Пример вывода:

Composer version 2.10.3 2026-08-27 13:34:23
PHP version 8.2.35 (/opt/php82/bin/php)

Запуск команд Composer

Выполняйте все команды из директории сайта. Команда начинается с вызова нужной версии PHP и пути к Composer:

cd ~/example.ru
/opt/php82/bin/php .composer/bin/composer <КОМАНДА>

Например, установка пакета vlucas/phpdotenv:

/opt/php82/bin/php .composer/bin/composer require vlucas/phpdotenv

Список установленных пакетов:

/opt/php82/bin/php .composer/bin/composer show

После установки в директории сайта появятся файлы composer.json, composer.lock и директория vendor.

Подключение пакетов в коде сайта

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

require_once __DIR__ . '/../vendor/autoload.php';

Путь зависит от расположения файла: vendor находится в корне директории сайта (~/example.ru/vendor/autoload.php), на одном уровне с public_html.

Пример: файл .env и phpdotenv. При включенной изоляции PHP может читать .env только из директории сайта, поэтому разместите файл внутри нее. Для загрузки переменных используйте пакет vlucas/phpdotenv, установленный командой выше.