Composer — управление зависимостями
Как установить PHP-библиотеки для модулей DevCraft через Composer.
Composer — программа, которая скачивает и обновляет PHP-библиотеки (зависимости) для сайта. У модулей DevCraft они лежат в папке devcraft/ в корне сайта.
Обычно зависимости ставятся сами (скриптом установки или через интерфейс DevCraft Admin). Эта страница нужна, если требуется сделать это вручную или разобраться с ошибкой про версию PHP.
Что должно быть на сервере
- В терминале команда
php -vдолжна показывать PHP 8.3 или новее. - Нужны обычные расширения PHP (в том числе связанные с работой сайта). См. также PHP intl.
- Установлен Composer:
Установка зависимостей
Перейдите в каталог devcraft в корне сайта и выполните:
cd devcraft
composer install --no-devComposer прочитает composer.json / composer.lock и создаст папку vendor/. Без неё DevCraft Admin и модули на его базе не заработают.
После добавления новых PHP-классов модуля иногда достаточно обновить автозагрузку:
composer dump-autoloadПодробнее об установке админки: Установка DevCraft Admin.
Если версии PHP на сервере разные
Бывает, что панель хостинга и сайт используют разный PHP. Тогда Composer может взять «не ту» версию и остановиться с ошибкой вроде: в composer.json нужен PHP ^8.3, а в терминале — 8.1.
Что можно сделать:
- Скачать готовый архив зависимостей composer_data.zip (если он актуален для вашей версии) и залить в корень сайта с сохранением структуры папок.
- Либо запустить Composer с игнорированием проверки платформы (только если понимаете риски):
composer install --no-dev --ignore-platform-req=phpВажно
Дальнейшие команды Composer в такой ситуации тоже выполняйте с флагом --ignore-platform-req=php.