Composer: установка и управление зависимостями PHP на сервере

PHP · 19.04.2026
Composer: установка и управление зависимостями PHP на сервере

Что такое Composer и зачем он нужен

Composer — стандартный менеджер зависимостей для PHP. Он позволяет подключать сторонние библиотеки (Laravel, Symfony, Guzzle, PHPUnit и тысячи других) одной командой, управлять версиями пакетов и автоматически подключать все классы через автозагрузчик.

Установка Composer на Ubuntu/Debian

# Скачиваем установщик
curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php

# Проверяем хэш (актуальный хэш на getcomposer.org/download)
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

# Проверяем установку
composer --version
Для глобальной установки (доступна всем пользователям) размещайте composer в /usr/local/bin/. Для установки только для текущего пользователя — в ~/.local/bin/.

Обновление Composer

composer self-update
# Откат к предыдущей версии:
composer self-update --rollback

Создание нового проекта

# Новый Laravel проект:
composer create-project laravel/laravel myapp

# Новый Symfony проект:
composer create-project symfony/skeleton myapp

Основные команды Composer

КомандаОписание
composer installУстановить зависимости из composer.lock
composer updateОбновить все зависимости до последних версий
composer require vendor/packageДобавить новый пакет
composer remove vendor/packageУдалить пакет
composer dump-autoload -oПерегенерировать оптимизированный автозагрузчик
composer showСписок установленных пакетов

Структура composer.json

{
    "name": "mycompany/myapp",
    "require": {
        "php": "^8.1",
        "guzzlehttp/guzzle": "^7.0",
        "monolog/monolog": "^3.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^10.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

Оптимизация для production

На production-сервере всегда запускайте Composer с оптимизацией автозагрузчика:

composer install --no-dev --optimize-autoloader --no-interaction
# или
composer dump-autoload --optimize --no-dev
Никогда не запускайте composer update на production — это может сломать приложение обновлением несовместимых версий. Обновляйте зависимости локально, фиксируйте composer.lock в git и деплойте через composer install.

Работа без интернета (--prefer-dist)

composer install --prefer-dist --no-scripts
← Назад в базу знаний Задать вопрос поддержке