Verification: a143cc29221c9be0

Php and windows and installer

Что такое PHP Composer

Composer – это пакетный менеджер зависимостей, предназначенный для упрощения загрузки и установки сторонних php библиотек в проект. Например, с помощью него можно очень просто добавить в разрабатываемый проект php пакеты, а также развернуть другие проекты, которые распространяются вместе с файлом «composer.json».

«composer.json» - это текстовый файл, в котором в формате JSON описаны все сторонние пакеты от которых зависит данный проект.

Например, для того чтобы в некоторый разрабатываемый проект добавить сторонние библиотеки, в нём можно просто создать «composer.json» и описать в этом файле все необходимые зависимости. После этого для установки всех требуемых внешних php пакетов в проект достаточно будет ввести в консоли всего одну команду (composer install).

Другой вариант заключается в применении команды require. В этом случае самостоятельно создавать файл «composer.json» не нужно. composer require – это команда для установки php пакетов в проект посредством Composer. Кроме установки данная команда также автоматически его пропишет в файл «composer.json». В дальнейшем для того, чтобы скопировать этот проект, например на другой компьютер, вам не нужно будет переносить туда все внешние пакеты, достаточно будет переместить туда только файл «composer.json». Установка всех зависимостей на этом компьютере будет осуществляться уже посредством ввода всего одной команды (composer install).

При использовании команды require, она ещё выполняет создание файла «composer.json», если его ещё в нет проекте.

Кроме этого, Composer применяется не только для установки php библиотек. С помощью Composer осуществляется также установка различных php фреймворков (Laravel, Yii2, Symfony и др.) и CMS (Drupal, MODX 3 и др.).

Composer представляет собой обычный php скрипт, т.е. программу, написанную на языке php.

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

В качестве репозитория пакетов Composer по умолчанию использует packagist.org.

При установке php пакетов Composer не просто устанавливает их, он также устанавливает все зависимости, от которых эти пакеты зависят. Т.е., например, если загружаемая библиотека будет зависеть от 3 других пакетов, а каждая из них, ещё в свою очередь от нескольких и так далее, то Composer всё это установит автоматически. В противном случае, т.е. без использования Composer, загрузку и установку основных пакетов, а также всех зависимостей придётся выполнять самостоятельно.

Загрузку сторонних библиотек Composer выполняет в папку «vendor», которую данный php скрипт создаёт в корневой директории проекта. Кроме этого, он ещё создаёт специальный файл «autoload.php», включив который в проект вы сразу же подключите к нему все ранее загруженные им библиотеки.

require "path/to/vendor/autoload.php"; 

Дополнительно при загрузке сторонних библиотек Composer генерирует ещё файл «composer.lock». Если «composer.json» - это главный файл Composer, в котором содержится описание основных пакетов, включая требования к их версиям, то «composer.lock» - это файл, содержащий уже не требования, а реальные версии пакетов, которые им были установлены на компьютер пользователя.

Основное назначение файла «composer.lock» заключается в полном сохранении среды, в которой осуществлялась разработка и тестирование проекта.

Например, если вы захотите скопировать проект в какое-то другое место без переноса файла «composer.lock», то выполнив в нём команду composer install, вы можете получить другие версии пакетов. Эта может случиться из-за выхода новых версий как основных пакетов, описанных в файле «composer.json», так и их зависимостей, зависимостей их зависимостей и т.д. Например, представим что выход новых версий основных пакетов не произошёл, но обновились версии у пакетов, от которых зависят основные пакеты. В результате установки работающего проекта, можем получить неработоспособный, если в какой-нибудь новой версии одного из этих пакетов была допущена ошибка. Поэтому если вы хотите сохранить полностью среду, то при копировании проекта необходимо дополнительно включать в проект файл «composer.lock».

Например, разворачивая проект на production, включающий в себя файл «composer.lock», вы получите те же версии зависимостей, которые у вас были при разработке и тестировании.

Работа с Composer осуществляется в основном в консольном или терминальном режиме, т.е. с помощью ввода команд через командную строку.

Официальный сайт Composer расположен по адресу https://getcomposer.org

Если вы использовали npm, то Сomposer – это нечто подобное, только не для «node.js», а для php.

Как установить Composer

Установка Composer может выполняться по-разному. Она также зависит от используемой среды и операционной системы. Рассмотрим различные варианты.

Установка Composer в Ubuntu, выполняющейся в подсистеме Windows для Linux (WSL)

Как установить локальный веб-сервер для разработки php проектов на подсистему Windows для Linux в Windows 10 можете ознакомиться в этой статье.

Для установки Composer в Windows 10 на подсистему Windows для Linux (WSL) необходимо выполнить следующие команды:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php composer-setup.php
php -r "unlink ('composer-setup.php');"  

Первая команда выполняет загрузку скрипта установщика с сайта «getcomposer.org». Вторая команда выполняет запуск этого установщика. В процессе своей работы установщик проверит некоторые настройки «php.ini», предупредит вас, если они установлены неправильно, а затем загрузит последний «composer.phar» в текущий каталог. Последняя или третья команда просто удалит загруженный установщик, который ранее использовался для установки Composer.

Phar — это исполняемые файлы (программы), которые выполняются посредством php интерпретатора.

Если при установке php пакетов у вас выводиться ошибки на отсутствие прав записи в каталог «~/.composer/cache», то в командной строке просто запустите данную команду:

sudo chmod -R a+rw ~/.composer/cache

Для установки Composer глобально, т.е. чтобы он был доступен с помощью команды composer необходимо дополнительно выполнить ещё следующую команду:

mv composer.phar /usr/local/bin/composer

Эта команда переместит файл «composer.phar» из директории пользователя в директорию «/usr/local/bin» и уберёт у него расширение «phar».

Установка Composer на OpenServer (в Windows)

В OpenServer по умолчанию уже установлен Composer. Находится он в зависимости от выбранной версии PHP (устанавливается в настройках OpenServer) в директории «OSPanel\modules\PHP_*\».

Работа с Composer в OpenServer по умолчанию осуществляется в собственной консоли. Для того чтобы открыть эту консоль необходимо нажать на значок Open Server правой кнопкой мыши в области уведомлений и в открывшемся контекстном меню найти соответствующий пункт.

В консоли для проверки того, что Composer подключен, например, можно ввести команду:

composer

Эта команда также отобразит версию Composer.

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

composer self-update

Установка Composer на хостинг

Для установки Composer на хостинг, можно просто скачать данную программу самостоятельно, а затем загрузить её в корневую директорию проекта, например, с помощью FTP.

Самостоятельная загрузка нужной версии Composer выполняется со страницы «Download». Версии программы на данной странице расположены в разделе «Manual Download».

Выполнение команд на удалённом сервере обычно осуществляют с помощью SSH. По умолчанию на shared хостингах данный сетевой протокол выключен. Для его включения необходимо найти соответствующий пункт в панели управления, открыть его и нажать в нем на кнопку «Включить SSH».

Если вы пользователь Windows 10, то клиент SSH включен в систему по умолчанию. Поэтому для выполнения команд на удаленном сервере, можно в этой версии Windows не устанавливать никакой дополнительный софт, а например, воспользоваться программой «Командная строка» или «Windows PowerShell».

Например:

ssh -l логин ip_адрес_сервера
cd public_html/blog
php7.1 composer.phar -v

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

Разберем основные команды Composer для начинающих.

Если вы используете «composer.phar» локально, то приведённые команды необходимо соответственно изменить в зависимости от того как настроено ваше окружение.

Например, если файл «composer.phar» находится в текущем каталоге и интерпретатор php доступен без указания пути к нему, то установка пакета будет осуществляться так:

php composer.phar require vendor/package

Установка пакета

Установка пакета через Composer осуществляется посредством выполнения следующей команды:

composer require vendor/package

vendor — это имя поставщика php пакета, а package — это его название.

Например, добавление в проект пакета twig через composer будет осуществляться так:

composer require "twig/twig:^2.0"

Команда require не только загрузит требуемую библиотеку в проект, но и пропишет её ещё в файле «composer.json», т.е. обновит его. Если устанавливаемый пакет зависит от других библиотек, то они также будут установлены или обновлены. Кроме этого ещё будет обновлён файл «composer.lock».

Установка всех пакетов в проект

Установка сразу всех пакетов в проект осуществляется посредством команды:

composer install

Эта команда работает следующим образом:

  • проверяет, имеется ли файл «composer.lock»;
  • если файл «composer.lock» существует, то устанавливает версии, указанные в нём;
  • если файла «composer.lock» нет, то разрешает зависимости, описанные в файле «composer.json», создаёт файл «composer.lock» и устанавливает зависимости.

Обновление зависимостей

Команда для обновления установленных библиотек:

composer update

Эта команда обновит все зависимости установленные в проекте до последних версий (в соответствии с «composer.json») и файл «composer.lock».

Если необходимо обновить не все пакеты, а один или несколько, то их необходимо перечислить через пробел.

Команда для обновления одной библиотеки:

composer update vendor/package

Удаление пакета

Команда Composer для удаления пакета из проекта:

composer remove vendor/package

Для удаления одновременно нескольких пакетов можете их перечислить через пробел:

composer remove vendor/package vendor2/package2

Обновление Composer

Команда для обновления Сomposer до последней версии:

composer self-update

Обновление lock файла без обновления пакетов

Для обновления файла «composer.lock» без обновления самих пакетов:

composer update --lock

Создать новый проект

Создание нового проекта из указанного пакета в текущую директорию выполняется так:

composer create-project vendor/package

Создание нового проекта в указанную директорию выполняется так:

composer create-project vendor/package folder

Вывод всех установленных библиотек

Команда для отображения всех установленных php пакетов:

composer show

Проверка валидности файла «composer.json»

Команда с помощью которой можно проверить валидность файла «composer.json»:

composer validate

Вывод списка всех доступных команд

Вывести на экран все доступные команды Composer можно так:

composer list

Очистка внутреннего кэша пакетов Composer

Выполнение очистки внутреннего кэша пакетов Composer осуществляется с помощью команды:

composer clear-cache

Получение подробной справки по команде

Вывод подробной справки по команде:

composer help имя_команды

Например, вывести подробную инструкцию по использованию команды require можно следующим образом:

composer help require

Вывести зависимости для указанного пакета

Вывести все зависимости указанного пакета от других можно с помощью команды:

composer depends vendor/package

Создание базового варианта файла composer.json с помощью мастера

Создание базового варианта файла composer.json с помощью мастера, т.е. посредством ответов на вопросы:

composer init

Примеры использования Composer для установки PHP фреймворков и CMS

Установка фреймворка Laravel в текущую директорию осуществляется через Composer посредством ввода следующей команды:

composer create-project --prefer-dist laravel/laravel

Установка последней версии фреймворка Yii2 через Composer:

composer create-project --prefer-dist yiisoft/yii2-app-basic

Установка разрабатываемой версии MODX Revolution 3 через Composer:

composer create-project modx/revolution www 3.x-dev

Установка через Composer нового приложения Symfony, предназначенного для создания традиционных веб-приложений:

composer create-project symfony/website-skeleton

Установка Symfony для использования его для создания микросервисов, консольных приложений или API осуществляется так:

composer create-project symfony/skeleton

Установка Drupal через Composer:

composer create-project drupal-composer/drupal-project:8.x-dev --no-interaction

Встречайте Laravel

Laravel – фреймворк веб-приложения с выразительным, элегантным синтаксисом. Веб-фреймворк предлагает структуру и отправную точку для создания вашего приложения, позволяя вам сосредоточиться на создании чего-то удивительного, но пока мы не будем вдаваться в детали.

Laravel стремится обеспечить потрясающий опыт разработчика, предоставляя при этом мощный функционал: тщательное внедрение зависимостей, выразительный уровень абстракции базы данных, очереди и запланированные задачи, модульное и интеграционное тестирование и многое другое.

Независимо от того, новичок ли вы в PHP, веб-фреймворках или имеете многолетний опыт, Laravel – это фреймворк, который может расти вместе с вами. Мы поможем вам сделать первые шаги в качестве веб-разработчика или подскажем, как вы поднимите свой опыт на новый уровень. Нам не терпится увидеть, что вы построите.

Почему именно Laravel?

При создании веб-приложения вам доступны различные инструменты и фреймворки. Однако мы считаем, что Laravel – лучший выбор для создания современных полнофункциональных веб-приложений.

Прогрессивный фреймворк

Нам нравится называть Laravel «прогрессивным» фреймворком. Под этим мы подразумеваем, что Laravel растет вместе с вами. Если вы только делаете первые шаги в веб-разработке, обширная библиотека документации, руководств и видеоуроков Laravel поможет вам изучить основы, не перегружая себя.

Если вы старший разработчик, Laravel предлагает вам надежные инструменты для внедрения зависимостей, модульного тестирования, создания очередей, событий в реальном времени и многое другое. Laravel оптимизирован для создания профессиональных веб-приложений и готов обрабатывать корпоративные рабочие нагрузки.

Масштабируемый фреймворк

Laravel невероятно масштабируем. Благодаря удобному для масштабирования характеру PHP и встроенной поддержке быстрых распределенных систем кеширования, таких как Redis, горизонтальное масштабирование с Laravel очень просто. Фактически, приложения Laravel легко масштабируются для обработки сотен миллионов запросов в месяц.

Требуется экстремальное масштабирование? Такие платформы, как Laravel Vapor, позволяют запускать приложение Laravel в практически неограниченном масштабе с использованием новейшей бессерверной технологии AWS.

Фреймворк сообщества

Laravel объединяет лучшие пакеты в экосистеме PHP, чтобы предложить наиболее надежный и удобный для разработчиков фреймворк. Кроме того, тысячи талантливых разработчиков со всего мира внесли свой вклад в фреймворк. Кто знает, возможно, вы даже станете соучастником Laravel.

Ваш первый проект на Laravel

Мы хотим, чтобы начать работу с Laravel было как можно проще. Существует множество вариантов разработки и запуска проекта Laravel на вашем собственном компьютере. Хотя вы, возможно, захотите изучить эти варианты позже, но Laravel предлагает Sail – встроенное решение для запуска вашего проекта Laravel с помощью Docker.

Docker – это инструмент для запуска приложений и служб в небольших, легких «контейнерах», которые не мешают установленному на вашем локальном компьютере программному обеспечению или его конфигурации. Это означает, что вам не нужно беспокоиться о конфигурировании или настройке сложных инструментов разработки, таких как веб-серверы и базы данных на вашем персональном компьютере. Для начала вам нужно всего лишь установить Docker Desktop.

Laravel Sail – это легкий интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel. Sail обеспечивает отличную отправную точку для создания приложения Laravel с использованием PHP, MySQL и Redis без предварительного опыта работы с Docker.

Уже знаком с Docker? Не волнуйтесь! Все в Sail можно перенастроить с помощью файла docker-compose.yml, входящего в Laravel.

Начало работы в macOS

Если вы разрабатываете на Mac и Docker Desktop уже установлен, то вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app, вы можете запустить следующую команду в своем терминале:

curl -s https://laravel.build/example-app | bash

Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:

cd example-app

./vendor/bin/sail up

При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.

После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.

Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.

Начало работы в Windows

Прежде чем мы создадим новое приложение Laravel на вашем компьютере с Windows, обязательно установите Docker Desktop. Затем вы должны убедиться, что подсистема Windows для Linux 2 (WSL2) установлена и включена. WSL позволяет запускать двоичные исполняемые файлы Linux прямо в Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации Среда разработки.

После установки и включения WSL2 вы должны убедиться, что Docker Desktop настроен на использование серверной части WSL2.

Теперь вы готовы создать свой первый проект Laravel. Запустите Терминал Windows и начните новый сеанс терминала для вашей операционной системы WSL2 Linux. Затем вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app, вы можете запустить следующую команду в своем терминале:

curl -s https://laravel.build/example-app | bash

Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:

cd example-app

./vendor/bin/sail up

При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.

После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.

Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.

Разработка в подсистеме WSL2

Конечно, вам нужно будет иметь возможность изменять файлы приложения Laravel, которые были созданы в вашей установке WSL2. Для этого мы рекомендуем использовать редактор Microsoft Visual Studio Code и его собственное расширение Remote Development.

После установки этих инструментов вы можете открыть любой проект Laravel, выполнив из корневого каталога вашего приложения команду code . с помощью Терминала Windows.

Начало работы в Linux

Если вы разрабатываете в Linux и Docker Desktop уже установлен, то вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем example-app, вы можете запустить следующую команду в своем терминале:

curl -s https://laravel.build/example-app | bash

Конечно, вы можете изменить example-app в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого вы выполняете команду.

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предлагает простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:

cd example-app

./vendor/bin/sail up

При первом запуске команды up Sail на вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.

После запуска контейнеров приложения Docker, вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.

Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.

Выбор служб Sail

При создании нового приложения Laravel через Sail вы можете использовать строковую переменную запроса with, чтобы выбрать, какие службы должны быть настроены в файле docker-compose.yml вашего нового приложения. Доступны следующие службы mysql, pgsql, mariadb, redis, memcached, meilisearch, selenium и mailhog:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

Если вы не укажете желаемые службы, то будет сконфигурирован стек по умолчанию из mysql, redis, meilisearch, mailhog и selenium.

Установка через Composer

Если на вашем компьютере уже установлены PHP и Composer, то вы можете создать новый проект Laravel напрямую с помощью Composer. После того, как приложение было создано, вы можете запустить локальный сервер разработки Laravel с помощью команды serve Artisan CLI:

composer create-project laravel/laravel example-app

cd example-app

php artisan serve

Установщик Laravel

В качестве альтернативы, вы можете использовать установщик Laravel, включив его в глобальную зависимость Composer:

composer global require laravel/installer

laravel new example-app

cd example-app

php artisan serve

Чтобы исполняемый файл laravel мог быть обнаружен вашей системой, удостоверьтесь в правильном расположении каталога bin менеджера пакетов Composer, задаваемый системной переменной $PATH. Расположение каталога зависит от вашей операционной системы, но типичными могут быть:

  • macOS: $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  • GNU / Linux Distributions: $HOME/.config/composer/vendor/bin или $HOME/.composer/vendor/bin

Для удобства установщик Laravel также может создать репозиторий Git для вашего нового проекта. Чтобы указать, что вы хотите создать репозиторий Git, передайте флаг --git при создании нового проекта:

laravel new example-app --git

Эта команда инициализирует новый репозиторий Git для вашего проекта и автоматически зафиксирует базовый каркас Laravel. Флаг --git предполагает, что вы правильно установили и настроили Git. Можно также использовать параметр --branch, чтобы задать имя ответвления:

laravel new example-app --git --branch="main"

Вместо использования флага --git вы можете использовать параметр --github, чтобы создать репозиторий Git и, соответствующий ему, частный репозиторий на GitHub:

laravel new example-app --github

Созданный репозиторий будет доступен по адресу https://github.com//example-app. Параметр --github предполагает, что вы правильно установили GitHub CLI и прошли аутентификацию с помощью интерфейса командной строки. Кроме того, у вас должен быть установлен и правильно настроен git. При необходимости вы можете передать дополнительные параметры и флаги, поддерживаемые GitHub CLI:

laravel new example-app --github="--public"

Можно использовать параметр --organization для создания репозитория под определенной организацией GitHub:

laravel new example-app --github="--public" --organization="laravel"

Начальная конфигурация

Все файлы конфигурации для фреймворка Laravel хранятся в каталоге config. Каждый параметр имеет комментарии, поэтому не стесняйтесь просматривать файлы и знакомиться с доступными вам вариантами.

Laravel практически не требует дополнительной настройки из коробки. Вы можете начать разработку! Однако вы можете просмотреть файл config/app.php и его комментарии. Он содержит несколько параметров, таких как часовой пояс и локаль, которые вы можете изменить в соответствии с вашим приложением.

Конфигурация на основе окружения

Поскольку многие значения параметров конфигурации Laravel могут различаться в зависимости от того, работает ли ваше приложение на локальном компьютере или на эксплуатационном веб-сервере, многие важные значения конфигурации определяются с помощью файла .env, существующий в корне вашего приложения.

Ваш файл .env не должен быть привязан к системе контроля версий вашего приложения, поскольку каждому разработчику / серверу, использующему ваше приложение, может потребоваться другая конфигурация окружения. Более того, это будет угрозой безопасности в случае, если злоумышленник получит доступ к вашему репозиторию системы управления версиями, поскольку любые конфиденциальные учетные данные будут раскрыты.

Для получения дополнительной информации о конфигурации на основе файла .env и окружения ознакомьтесь с полной документацией по конфигурации.

Конфигурация каталога

Laravel всегда должен обслуживаться из корня «веб-каталога», настроенного для вашего веб-сервера. Вы не должны пытаться обслуживать приложение Laravel из поддиректории относительно «веб-каталога». Такая попытка может открыть доступ к конфиденциальным файлам, существующим в вашем приложении.

Установка composer

Если Composer еще не установлен это можно сделать по инструкции на getcomposer.org , или одним из нижеперечисленных способов. На Linux или Mac используйте следующую команду:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

На Windows, скачайте и запустите Composer-Setup.exe .

Если всё сделано правильно, то мы должны увидеть версию composer, набрав в консоли (терминале) команду:

php composer.phar -V

Мы должны увидеть запись подобного рода:

Composer version  

Для удобства рекомендую проделать еще один шаг и выполнить команду:

echo @php "%~dp0composer.phar" %*>composer.bat

Она создаст .bat файл и в дальнейшем можно будет работать без указания php composer.phar, просто указывая composer Т.е. команда проверки версии (которая была выше) будет выглядеть так:

composer -V

Что согласитесь гораздо удобнее.

Если у вас уже установлен Composer, обновите его при помощи composer self-update.

composer -V (-version) - выведут краткую информацию о composer

composer -v - выведет полную информацию о composer

Во время установки Yii Composer запрашивает довольно большое количество информации через Github API. Количество запросов варьируется в зависимости от количества зависимостей вашего проекта и может превысить ограничения Github API. В таком случае Github требует токен .

Установка Yii2

Установка basic приложения:

// По указанному пути (относительно домашней директории)
composer create-project --prefer-dist yiisoft/yii2-app-basic /path
// в директорию basic (если находимся директорией выше)
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
// в текущую директорию
composer create-project --prefer-dist yiisoft/yii2-app-basic .

Если вы хотите установить последнюю нестабильную ревизию Yii:

composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic 

Установка advanced приложения:

// По указанному пути (относительно домашней директории)
composer create-project --prefer-dist yiisoft/yii2-app-advanced /path
// в директорию basic (если находимся директорией выше)
composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced
// в текущую директорию
composer create-project --prefer-dist yiisoft/yii2-app-advanced .

// Установить последнюю нестабильную ревизию Yii advanced:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-advanced advanced

Выполнить:

php init

Фреймворк предложит развернуть приложение в одном из указанных окружений: окружение разработки и продакшен

Which environment do you want the application to be initialized in?

  [0] Development
  [1] Production

  Your choice [0-1, or "q" to quit]

В окружении разработки...

Your choice [0-1, or "q" to quit] 0

  Initialize the application under 'Development' environment? [yes|no]

Далее генерируются необходимые файлы:

Initialize the application under 'Development' environment? [yes|no] yes

Start initialization ...

 generate backend/config/main-local.php
 generate backend/config/params-local.php
 generate backend/config/test-local.php
 generate backend/web/index-test.php
 generate backend/web/index.php
 generate backend/web/robots.txt
 generate common/config/main-local.php
 generate common/config/params-local.php
 generate common/config/test-local.php
 generate console/config/main-local.php
 generate console/config/params-local.php
 generate console/config/test-local.php
 generate frontend/config/main-local.php
 generate frontend/config/params-local.php
 generate frontend/config/test-local.php
 generate frontend/web/index-test.php
 generate frontend/web/index.php
 generate frontend/web/robots.txt
 generate yii
 generate yii_test
 generate yii_test.bat
 generate cookie validation key in backend/config/main-local.php
 generate cookie validation key in frontend/config/main-local.php
    chmod 0777 backend/runtime
    chmod 0777 backend/web/assets
    chmod 0777 frontend/runtime
    chmod 0777 frontend/web/assets
    chmod 0755 yii
    chmod 0755 yii_test

... initialization completed.

Настройка веб сервера (apache 2.4)

В файле httpd-vhosts.conf настроить хост:


  ServerAdmin admin@gmail.com
  ServerName site.com	
  ServerAlias www.site.com	
  DocumentRoot "S:/Server/data/htdocs/site/www/web"
  
    Options FollowSymLinks
    AllowOverride All
  
  
    Options All
    AllowOverride All
    Order allow,deny
    allow from all
  
  ErrorLog "S:/Server/data/htdocs/site/logs/site-error.log"
  CustomLog "S:/Server/data/htdocs/site/logs/site-access.log" common

В файле C:\Windows\System32\drivers\etc\host от имени администратора прописать локальный хост:

127.0.0.1 www.site.com
127.0.0.1 site.com

Перезапустить apache:

// Находясь в директории bin ( путь/к/файлу/httpd ) 
httpd -k start
httpd -k restart
httpd -k stop (httpd - k shutdown)

// Работа с apache как со службой Windows
net stop apache2.4
net start apache2.4

// Мой  httpd.exe
S:\Server\bin\Apache24\bin\httpd -k restart