Установка Yii
Вы можете установить Yii двумя способами: используя менеджер пакетов Composer или скачивая архивный файл. Первый способ предпочтительнее, так как он позволяет устанавливать новые расширения или обновлять Yii, просто выполнив одну команду.
Стандартная установка Yii приводит к скачиванию и установке как самого фреймворка, так и шаблона проекта. Шаблон проекта — это рабочий проект Yii, реализующий некоторые базовые функции, такие как вход, контактная форма и т. д. Его код организован рекомендуемым образом. Поэтому он может служить хорошей отправной точкой для ваших проектов.
В этом и следующих разделах мы опишем, как установить Yii с так называемым шаблоном базового проекта и как реализовать новые функции на основе этого шаблона. Yii также предоставляет другой шаблон — шаблон расширенного проекта, который лучше использовать в средах разработки с участием команды для разработки приложений с несколькими уровнями.
Информация: Шаблон базового проекта подходит для разработки 90 процентов веб-приложений. Он отличается от шаблона расширенного проекта в основном тем, как организован их код. Если вы новичок в Yii, настоятельно рекомендуем использовать шаблон базового проекта из-за его простоты и достаточного функционала.
Установка через Composer
Установка Composer
Если у вас еще нет Composer, вы можете установить его, следуя инструкциям на сайте getcomposer.org. В Linux и Mac OS X выполните следующие команды:
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
В Windows скачайте и запустите Composer-Setup.exe.
Если у вас возникли проблемы, обратитесь к разделу Устранение неполадок в документации Composer. Если вы новичок в Composer, также рекомендуем ознакомиться хотя бы с разделом Основные возможности использования документации Composer.
Во всех примерах команд в этом руководстве предполагается, что у вас установлена глобальная версия Composer, доступная в качестве команды composer. Если вы используете composer.phar в локальном каталоге, вам необходимо соответствующим образом скорректировать примеры команд.
Если Composer уже был установлен ранее, убедитесь, что вы используете обновлённую версию. Вы можете обновить Composer, выполнив composer self-update.
Примечание: Во время установки Yii Composer может запросить много информации из API Github. Количество запросов зависит от количества зависимостей вашего приложения и может быть больше, чем лимит запросов API Github. Если вы превысите этот лимит, Composer может попросить ваши учетные данные Github для получения маркера доступа к API Github. При быстрых подключениях вы можете превысить этот лимит раньше, чем Composer сможет обработать это, поэтому мы рекомендуем настроить маркер доступа до установки Yii. Обратитесь к документации Composer по маркерам доступа API Github, чтобы узнать, как это сделать.
Установка Yii
После установки Composer вы можете установить шаблон приложения Yii, выполнив следующую команду в доступной по сети папке:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
Это установит последнюю стабильную версию шаблона приложения Yii в каталог под названием basic. Вы можете выбрать другое имя каталога, если хотите.
Информация: Если команда
composer create-projectзавершится ошибкой, вы можете обратиться к разделу устранения неполадок в документации Composer для выявления распространённых ошибок. После исправления ошибки вы можете продолжить прерванную установку, выполнивcomposer updateвнутри каталогаbasic.
Совет: Если вы хотите установить последнюю версию разработки Yii, вместо этого вы можете использовать следующую команду, которая добавляет параметр стабильности:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basicОбратите внимание, что версия разработки Yii не должна использоваться в производственных условиях, так как она может нарушить ваш работающий код.
Установка из архива
Установка Yii из архива включает три шага:
- Скачайте архивный файл с сайта yiiframework.com.
- Распакуйте скачанный файл в доступную по сети папку.
-
Отредактируйте файл
config/web.php, введя секретный ключ для элемента конфигурацииcookieValidationKey(это делается автоматически, если вы устанавливаете Yii с помощью Composer):// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation 'cookieValidationKey' => 'enter your secret key here',
Другие варианты установки
Вышеуказанные инструкции показывают, как установить Yii, что также создаёт работающее из коробки базовое веб-приложение. Этот подход является хорошей отправной точкой для большинства проектов, как небольших, так и крупных. Он особенно подходит, если вы только начинаете изучать Yii.
Но есть и другие варианты установки:
- Если вы хотите установить только ядро фреймворка и создать всё приложение с нуля, вы можете следовать инструкциям, описанным в Создание приложения с нуля.
- Если вы хотите начать с более сложного приложения, более подходящего для командной разработки, вы можете рассмотреть установку шаблона расширенного проекта.
Проверка установки
После завершения установки настройте свой веб-сервер (см. следующий раздел) или используйте встроенный веб-сервер PHP, выполнив следующую консольную команду в каталоге проекта web:
php yii serve
Примечание: По умолчанию HTTP-сервер будет слушать порт 8080. Однако, если этот порт уже используется или вы хотите обслуживать несколько приложений таким образом, вы можете указать используемый порт. Просто добавьте аргумент --port:
php yii serve --port=8888
Вы можете использовать свой браузер для доступа к установленному приложению Yii по следующему URL:
http://localhost:8080/

В вашем браузере должно отобразиться указанное поздравление. Если нет, проверьте, соответствует ли ваша установка PHP требованиям Yii. Вы можете проверить, выполнены ли минимальные требования, используя один из следующих способов:
- Скопируйте
/requirements.phpв/web/requirements.phpи затем используйте браузер для доступа к нему по адресуhttp://localhost/requirements.php -
Выполните следующие команды:
cd basic php requirements.php
Вы должны настроить свою установку PHP так, чтобы она соответствовала минимальным требованиям Yii. Наиболее важно, чтобы у вас была версия PHP 5.4 или выше. В идеале последняя версия PHP 7. Также необходимо установить расширение PDO PHP (PDO PHP Extension) и соответствующий драйвер базы данных (например, pdo_mysql для баз данных MySQL), если ваше приложение требует базы данных.
Настройка веб-серверов
Информация: Вы можете пропустить этот подраздел, если вы только тестируете Yii и не планируете развертывать его на производственном сервере.
Установленное согласно указанным выше инструкциям приложение должно работать с веб-серверами Apache HTTP (Apache HTTP server) или Nginx HTTP (Nginx HTTP server) в Windows, Mac OS X или Linux, работающих с PHP 5.4 или выше. Yii 2.0 также совместим с HHVM Facebook (HHVM). Однако в некоторых особых случаях HHVM ведет себя по-другому, чем обычный PHP, поэтому вам нужно быть предельно внимательным при использовании HHVM.
На производственном сервере вы, возможно, захотите настроить свой веб-сервер так, чтобы к приложению можно было получить доступ по URL-адресу http://www.example.com/index.php вместо http://www.example.com/basic/web/index.php. Для такой настройки необходимо указать корневую папку вашего веб-сервера на папку basic/web. Возможно, вы захотите скрыть index.php из URL-адреса, как описано в разделе Маршрутизация и создание URL-адресов. В этом подразделе вы узнаете, как настроить свой сервер Apache или Nginx для достижения этих целей.
Информация: Установив
basic/webв качестве корневой папки, вы также предотвратите доступ конечных пользователей к вашему частному коду приложения и к файлам конфиденциальных данных, хранящимся в каталогах-соседяхbasic/web. Запрещение доступа к этим другим папкам — это улучшение безопасности.
Информация: Если ваше приложение будет работать в среде совместного хостинга, где у вас нет разрешения на изменение конфигурации веб-сервера, вы всё равно можете настроить структуру своего приложения для повышения безопасности. Более подробную информацию см. в разделе Среда совместного хостинга.
Рекомендуемая конфигурация Apache
Используйте следующую конфигурацию в файле httpd.conf Apache или в конфигурации виртуального хоста. Обратите внимание, что вам необходимо заменить path/to/basic/web на фактический путь к basic/web.
# Set document root to be "basic/web"
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# ...other settings...
</Directory>
Рекомендуемая конфигурация Nginx
Для использования Nginx необходимо установить PHP как FPM SAPI. Вы можете использовать следующую конфигурацию Nginx, заменив path/to/basic/web на фактический путь к basic/web и mysite.local на фактический хост для обслуживания.
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name mysite.local;
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log;
error_log /path/to/basic/log/error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
При использовании этой конфигурации также следует установить cgi.fix_pathinfo=0 в файле php.ini для предотвращения ненужных системных stat() вызовов.
Также обратите внимание, что при запуске HTTPS-сервера необходимо добавить fastcgi_param HTTPS on;, чтобы Yii мог правильно определить, является ли подключение защищённым.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/guide-start-installation.html