Перейти к содержанию

Работа с Composer

Composer — программа, которая скачивает и обновляет PHP-библиотеки (зависимости) для сайта. У модулей DevCraft они лежат в папке devcraft/ в корне сайта.

Обычно зависимости ставятся сами (скриптом установки или через интерфейс DevCraft Admin). Эта страница нужна, если нужно сделать это вручную или понять ошибку про версию PHP.

Что должно быть на сервере

  1. В терминале команда php -v должна показывать PHP 8.3 или новее.
  2. Нужны обычные расширения PHP (в том числе связанные с работой сайта). См. также PHP intl.
  3. Установлен Composer ⧉ (Linux/macOS) или для Windows ⧉. На Windows иногда удобнее файл composer.phar ⧉.

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

Перейдите в каталог devcraft в корне сайта и выполните:

Bash
cd devcraft
composer install --no-dev

Composer прочитает composer.json / composer.lock и создаст папку vendor/. Без неё DevCraft Admin и модули на его базе не заработают.

После добавления новых PHP-классов модуля иногда достаточно обновить автозагрузку:

Bash
composer dump-autoload

Подробнее об установке админки: Установка DevCraft Admin.

Если версии PHP на сервере разные

Бывает, что панель хостинга и сайт используют разный PHP. Тогда Composer может взять «не ту» версию и остановиться с ошибкой вроде: в composer.json нужен PHP ^8.3, а в терминале — 8.1.

Что можно сделать:

  1. Скачать готовый архив зависимостей composer_data.zip ⧉ (если он актуален для вашей версии) и залить в корень сайта с сохранением структуры папок.
  2. Либо запустить Composer с игнорированием проверки платформы (только если понимаете риски):
Bash
composer install --no-dev --ignore-platform-req=php

Важно

Дальнейшие команды Composer в такой ситуации тоже выполняйте с флагом --ignore-platform-req=php.

См. также