Установка Composer для 1С-Битрикс

Установка Composer в 1С-Битрикс
06 сентября 2025
2 мин.
389
1
28 сентября 2025
<p>Установка Composer в проекте на 1С-Битрикс требует учета особенностей платформы, чтобы обеспечить корректную работу и интеграцию с системой.</p>

Установка Composer в проекте на 1С-Битрикс требует учета особенностей платформы, чтобы обеспечить корректную работу и интеграцию с системой. Ниже приведена пошаговая инструкция по оптимальной установке Composer в Битрикс, основанная на рекомендациях из официальной документации и практическом опыте разработчиков. Основной акцент сделан на локальную установку в папке /local/, так как это считается более правильным подходом для изоляции пользовательских настроек и упрощения работы с зависимостями.

Проверка и установка Composer

Убедитесь, что Composer установлен на сервере: Если Composer еще не установлен, выполните его установку. Для глобальной установки на сервере (рекомендуется для удобства):

wget https://getcomposer.org/download/latest-stable/composer.phar
chmod +x composer.phar
mv composer.phar /usr/local/bin/composer
composer --version

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

Инициализация Composer в проекте

  • Перейдите в папку /local/ вашего проекта:
    cd /путь/до/вашего/проекта/local
  • Инициализируйте Composer, чтобы создать файл composer.json:
    cd /путь/до/вашего/проекта/local
    Следуйте инструкциям в консоли, указав имя проекта, зависимости и другие параметры. Если вы не хотите добавлять зависимости сразу, можно просто создать базовый файл composer.json.
  • Пример содержимого composer.json:

    {
        "name": "your-vendor/your-project",
        "description": "Bitrix project",
        "require": {
            "php": ">=7.1.0",
            "wikimedia/composer-merge-plugin": "dev-master"
        },
        "config": {
            "vendor-dir": "vendor",
            "allow-plugins": {
                "wikimedia/composer-merge-plugin": true
            }
        },
        "extra": {
            "merge-plugin": {
                "require": ["../bitrix/composer-bx.json"]
            }
        },
        "autoload": {
            "psr-4": {
                "App\\Namespace\\": "php_interface/classes/"
            }
        }
    }
  • Плагин wikimedia/composer-merge-plugin позволяет объединить настройки из файла composer-bx.json, который находится в папке /bitrix/ (используется самим Битриксом начиная с версии 18.0.5).
  • Раздел autoload настраивает автозагрузку ваших собственных классов по стандарту PSR-4.

Настройка пути к composer.json

По умолчанию Битрикс ожидает, что composer.json находится в папке /bitrix/. Поскольку мы размещаем его в /local/, нужно указать это в настройках Битрикса:

Откройте файл /bitrix/.settings.php и добавьте:

'composer' => [
  'value' => ['config_path' => '/local/composer.json']
],

Это укажет Битриксу, где искать ваш composer.json

Подключение автозагрузчика

Чтобы Битрикс использовал зависимости Composer и ваши классы, подключите автозагрузчик в файле/local/php_interface/init.php:

if (file_exists($_SERVER["DOCUMENT_ROOT"]."/local/vendor/autoload.php")) {
    require_once($_SERVER["DOCUMENT_ROOT"]."/local/vendor/autoload.php");
  }

Установка зависимостей

Вернитесь в папку /local/ и выполните:

composer install

Это установит все зависимости, указанные в composer.json, в папку /local/vendor/. Если вы используете composer-bx.json из папки /bitrix/, зависимости Битрикса также будут установлены.

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

composer require monolog/monolog

После этого библиотека будет доступна в вашем проекте.

Для безопасности необходимо создать файл .htaccess в папке /local/vendor/

с содержимым
Deny from All