Установка Composer на Windows

Все исходники / Язык программирования PHP / OS Windows / Веб программирование / Frameworks для сайтов и веб-приложений / Установка Composer на Windows
Оглавление:
  1. Composer для автоматизации установки приложений PHP
  2. Локальная установка Composer из командной строки
  3. Скачивание установщика
  4. Проверка установщика Composer
  5. Запуск установщика Composer
  6. Завершение установки Composer
  7. Скриншот командной строки после локальной установки
  8. Глобальная установка Composer
  9. Выбор способа установки
  10. Примеры использования Composer

Composer для автоматизации установки приложений PHP

Логотип Composer
Логотип Composer

Не все разработчики приложений PHP обеспечивают ссылками на прямые скачивания своих фреймворков, многие распространяют приложения наборами пакетов, которые в свою очередь требуют установки других пакетов. Самостоятельная загрузка всех требуемых пакетов с множественной вложенностью очень сложная задача.

В этом случае Composer приходит на помощь, освобождая от необходимости изучать и вручную выполнять нудную механику скачивания пакетов приложений PHP и их зависимостей. Обычно разработчики предоставляют строковую команду, выполняя которую Composer создает проекты приложений PHP в комплекте со всеми зависимостями.

На данной странице описывается установка Composer для Windows. Composer можно устанавливать локально: файл приложения Composer устанавливается в выбранную папку и команды действуют только в области данной папки. И глобально: файл приложения Composer устанавливается инсталлятором автоматически и создается переменная среды composer, доступная в пределах всей операционной системы.

Документацию Composer можно читать на официальном сайте Composer. Перед установкой Composer необходимо установить интерпретатор PHP. Установка PHP описана на странице Настройка PHP FastCGI для серверов Apache IIS .

Локальная установка Composer из командной строки

Локально Composer может устанавливаться в любую папку и команды по установке фреймворков PHP будут выполняться только в папке, где находится Composer. При необходимости установки приложений PHP в другие папки, файл Composer можно перемещать или копировать.

Для установки Composer используется окно командной строки Windows (для вызова удобно ввести cmd в строке адреса проводника Windows, где открыта выбранная папка и нажать Enter).

Локальная установка Composer включает четыре команды: скачивание установщика, проверка контрольной суммы установщика, запуск установщика, удаление установщика. Эти команды подробно описываются в абзацах ниже.

Скачивание установщика

Команда загрузки установщика:
"путь_до_рабочей_папки_PHP \php.exe" -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Например:
"C:\Program Files\IIS Express\PHP\v8.2\php.exe" -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Команда при наличии глобальной переменной php:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

После выполнения данной команды в папке должен появиться файл composer-setup.php.

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

После загрузки установщика Composer, очень желательно его проверить путем проверки контрольной суммы установщика.

Команда проверки установщика:
"путь_до_рабочей_папки_PHP \php.exe" -r "if (hash_file('sha384', 'composer-setup.php') === 'контрольная_сумма') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Например:
"C:\Program Files\IIS Express\PHP\v8.2\php.exe" -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Команда при наличии глобальной переменной php:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'контрольная_сумма') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

В данной команде контрольная сумма версии Composer v2.5.5, для других версий смотреть на странице Download Composer.

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

Запуск установщика Composer

Команда запуска установщика:
"путь_до_рабочей_папки_PHP \php.exe" composer-setup.php
Например:
"C:\Program Files\IIS Express\PHP\v8.2\php.exe" composer-setup.php

Команда при наличии глобальной переменной php:
php composer-setup.php

В результате успешного выполнения файла composer-setup.php в вашей папки появится файл composer.phar. Данный файл представляет собой PHP приложение, файлы которого объединены в один архив с расширением .phar. Запуск такого приложения не требует распаковки архива.

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

После успешной установки Composer файл установщика необходимо удалить. Команда удаления набирается так:
"путь_до_рабочей_папки_PHP \php.exe" -r "unlink('composer-setup.php');"
Например:
"C:\Program Files\IIS Express\PHP\v8.2\php.exe" -r "unlink('composer-setup.php');"

Команда при наличии глобальной переменной php:
php -r "unlink('composer-setup.php');"

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

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

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

Для глобальной установки разработчики Composer предоставляют программу-инсталлятор Composer-Setup для Windows расположенной на странице загрузок Windows Installer . Инсталлятор Composer-Setup будет устанавливать последнюю версию композитора при каждом запуске.

При запуске установщика последовательно будут показываться мастер-окна с комментариями. Подробности инсталляции поясняют скриншоты ниже:

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

 Глобальная установка Composer 2
Глобальная установка Composer окно №2
Второе окно предлагает вам рекомендуемую установку в комплекте с деинсталлятором доступным из панели управления. Выбрав галочкой режим разработчика вы можете определять в какую папку устанавливать Composer, при этом удаление и обновление вы будете производить самостоятельно.

 Глобальная установка Composer 3
Глобальная установка Composer окно №3
На третьем этапе для запуска Composer выбирается исполнительный интерпретатор PHP. Указанный интерпретатор будет исполнять приложение Composer при укороченной команде, например:
composer create-project laravel/laravel myapp
без необходимости набирать путь до php.exe или указывать переменную среды php. Установка галочки на пункте Add this PHP to your path создаст глобальную переменную короткого имени доступа к исполнительному файлу PHP. Вместо набора строки полного пути до php.exe можно будет указывать только короткое php.

 Глобальная установка Composer 4
Глобальная установка Composer окно №4
Если у вас доступ в Интернет через прокси-сервер укажите его адрес.

 Глобальная установка Composer 5
Глобальная установка Composer окно №5
Пятое окно - итоговая информация: выбор глобального интерпретатора PHP, добавление необходимых настроек в файле php.ini с сохранением копии оригинала, добавление в системный путь папки выбранного в качестве глобального интерпретатора PHP.

 Глобальная установка Composer 6
Глобальная установка Composer окно №6
Шестое окно - уведомление о необходимости перезапуска командной строки, поскольку в открытых окнах изменения еще не приняты. Если даже в новом окне командной строки не работают глобальные настройки Composer рекомендуется перезагрузка операционной системы.

 Глобальная установка Composer 7
Глобальная установка Composer окно №7
На этом глобальная установка Composer заканчивается.

Выбор способа установки

Ручная установка предоставляет полный контроль над файлами Composer. После инсталляции выбранных фреймворков файл composer.phar можно удалить. Полный контроль над сторонними файлами. Если пользование услугами Composer редкое то, наверное, лучше предпочесть этот способ.

Глобальная установка предполагает автоматическое размещение файлов в системных папках и возможные записи в реестр. Но данная установка очень удобная в пользовании и команда запуска композитора в паре с интерпретатором PHP сводится к одному слову composer. Если частое пользование услугами Composer и нежелание набора сложных команд, то конечно же глобальная установка создает комфортные условия разработок PHP приложений.

Примеры использования Composer

Ниже, для примера, команды установки некоторых популярных PHP фреймворков в указанную папку. Composer вежливо производит проверки совместимости версии и настроек вашего интерпретатора PHP с требованиями фреймворков.

Команда создания проекта веб-приложения Laravel, используются локальные установки PHP и Composer:
"C:\Program Files\IIS Express\PHP\v8.2\php.exe" composer.phar create-project laravel/laravel app_laravel
Такой командой в папку app_laravel установится веб-приложение Laravel готовое к запуску.

Команда установки проекта веб-приложения CakePHP, используется локальный PHP и Composer:
"D:\MyProjects\PHP\php-7.4.33-nts-Win32-vc15-x64\php.exe" composer.phar create-project --prefer-dist cakephp/app:~4.0 app_cakephp
При выполнении команды создается веб-приложение фреймворка CakePHP, готовое к разработке.

При создании веб-приложения Symfony требуется переход в каталог установки и для продолжения туда необходимо будет скопировать файл локальной установки composer.phar. В этом случае глобальный Composer удобнее, поскольку нет необходимости в дополнительной копии composer.phar в другом каталоге. Последовательно выполните команды:
composer create-project symfony/skeleton:"6.2.*" app_symfony
cd app_symfony
composer require webapp

Вот и всё 😊.