Для работы Yii 2 у вас должна быть версия PHP 5.4 или выше.
Подготовка к установке Yii 2 advanced
Следующие шаги делаются один раз перед первой установкой проект на Yii 2.
Если вы первый раз устанавливаете проект на Yii 2, то для начала вам необходимо создать токен на github. Как это сделать описано здесь кодер.укр/записи/yii-framework-2-как-я-устанавливал-yii2 в начале статьи, после добавления токена возвращайтесь назад.
Далее выполняем команду в консоле:
composer global require "fxp/composer-asset-plugin:~1.0.3"
Установка Yii 2 advanced
1. Открываем консоль и переходим в папку с проектами:
cd domains
2. Далее выполняем команду:
composer create-project --prefer-dist yiisoft/yii2-app-advanced my-project-name.local
Где my-project-name.local - папка в которую необходимо установить Yii 2.
3. Ждем пока все установится, после чего инициализируем проект, выполняем команду:
php yii-application/init
4. Выбираем Development (0), для этого жмем 0, подтверждаем наш выбор, вводим y жмем Enter и ждем пока пройдет инициализация.
5. Далее создаем БД для проекта.
6. Настраиваем соединение с БД в файле /my-project-name.local/common/config/main-local.php:
'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yourDBName', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ],
7. В консоле переходим в папку с проектом my-project-name.local:
cd my-project-name.local
8. И выполняем миграции:
yii migrate
9. Далее добавляем алиасы для frontend и backend. Для этого жмем на иконку OpenServer в трее "Настройки" => "Домены" в поле "Имя домена" вводим my-project-name.local в поле "Папка домена" вводим \my-project-name.local\frontend\web жмем кнопку "Добавить" и "Сохранить". Ждем пока сервер будет перезапущен.
Теперь проект доступен по адресу my-project-name.local. По аналогии делаем и для backend (admin.my-project-name.local \my-project-name.local\backend\web).
Все, проект готов к работе.
Добавим работу ЧПУ
Открываем файл /yii-application/frontend/config/main.php и раскомментируем следующий блок:
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ ], ],
После чего в папку /my-project-name.local/frontend/web/ добавляем .htaccess со следующим кодом (должен быть включен mod rewrite в apache):
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?/$1 [L]
По аналогии делаем и для backend.
Комментарии
Статья хорошая все получилось.
ОтветитьСсылка на создать токен на github не работает.
Устанавливал с репозитория и команду инициализации выполнил в папке проекта
php init
Твоя команда в общем каталоге доменнов не сработала.
вопрос:
А можно исползовать my-site.local/admin вместо admin.my-site.local и как?
Спасибо за статью
Можно так: .htaccess для Yii 2 advanced
Ответитьспасибо. все толково и главное вовремя) все получилось.
Ответитьпро init в папке проекта таки да. плюсую Roman.
У меня при запуске миграции создается пустая таблица users, это нормально? а как админа добавлять?
ОтветитьЧерез регистрацию и смену роли
Ответитьстатья отличная, спасибо. На MAC при выполнении пункта 6 возникает проблема:
Ответить
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545}
yii/db/exception SQLSTATE[HY000] [2002] No such file or directory
решается так: надо в пункте 6 заменить localhost на 127.0.0.1
описано здесь
Много пересмотрела материалов на эту тему, все время какая- то ерунда получалась. А следуя вашим рекомендациям, все отлично))). В статье все коротко и четко, спасибо!
Ответить