1. 前提条件,php版本得> 5.4
D:\phpStudy>php -v
PHP 5.5. (cli) (built: Sep ::)
Copyright (c) - The PHP Group
Zend Engine v2.5.0, Copyright (c) - Zend Technologies D:\phpStudy>
2. 安装方式,一种是直接下载压缩包,推荐采用composer方式安装,未来的趋势。安装直接确保php已经支持openssl (php.ini)查找Openssl
2.1 下载安装composer , 我的环境是windows的 。
http://getcomposer.org/doc/00-intro.md#installation-nix
附:linux安装方式
[root@mty01 --]# curl -sS https://getcomposer.org/installer | php
Downloading 1.1....
Composer successfully installed to: /home/haozi/--/composer.phar
Use it: php composer.phar
Some settings on your machine may cause stability issues with Composer.
If you encounter issues, try to change the following:
Your PHP (5.3.) is quite old, upgrading to PHP 5.3. or higher is recommended.
Composer works with 5.3.+ for most people, but there might be edge case issues.
The OpenSSL library (1.0.-fips) used by PHP does not support TLSv1. or TLSv1..
If possible you should upgrade OpenSSL to version 1.0. or above.
[root@mty01 --]# ls
composer.phar
[root@mty01 --]# du -sh composer.phar
1.6M composer.phar
3. 完成composer安装之后,需要安装composer的插件
D:\phpStudy\WWW\yii2>php composer.phar global require "fxp/composer-asset-plugin:~1.1.1"
Changed current directory to C:/Users/liuhao14/AppData/Roaming/Composer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing fxp/composer-asset-plugin (v1.1.4)
Downloading: %
Writing lock file
Generating autoload files
D:\phpStudy\WWW\yii2>
4. 开始安装之前,需要配置一个 github的token,这里不做叙述。意思是需要申请一个github的账号,然后生成一个token。
参照如下路径,设置(注意下面xxxx明显是打码了,所以你直接使用用不了)
C:\Users\liuhao14\AppData\Roaming\Composer>dir /b
.htaccess
auth.json
composer.json
composer.lock
composer.phar
vendor
C:\Users\liuhao14\AppData\Roaming\Composer>type auth.json
{
"github-oauth": {
"github.com": "xxxxxxxxxxx6fc824ea5a76ebc5fcdxxxxxxxxxx"
}
}
C:\Users\liuhao14\AppData\Roaming\Composer>
5.重头戏,开始安装。由于国内环境的问题,安装时间比较长,半个小时也常见,只要程序没死,不要切断.....
D:\phpStudy\WWW\yii2>php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.
Installing yiisoft/yii2-app-advanced (2.0.)
- Installing yiisoft/yii2-app-advanced (2.0.)
Loading from cache
Created project in advanced
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing yiisoft/yii2-composer (2.0.)
Downloading: %
- Installing swiftmailer/swiftmailer (v5.4.2)
Downloading: %
- Installing bower-asset/jquery (2.2.)
Downloading: %
- Installing bower-asset/yii2-pjax (v2.0.6)
Downloading: %
- Installing bower-asset/punycode (v1.3.2)
Downloading: %
- Installing bower-asset/jquery.inputmask (3.2.)
Downloading: %
- Installing cebe/markdown (1.1.)
Downloading: %
- Installing ezyang/htmlpurifier (v4.7.0)
Downloading: %
- Installing yiisoft/yii2 (2.0.)
Downloading: %
- Installing yiisoft/yii2-swiftmailer (2.0.)
Downloading: %
- Installing yiisoft/yii2-codeception (2.0.)
Downloading: %
- Installing bower-asset/bootstrap (v3.3.5)
Downloading: %
- Installing yiisoft/yii2-bootstrap (2.0.)
Downloading: %
- Installing yiisoft/yii2-debug (2.0.)
Downloading: %
- Installing bower-asset/typeahead.js (v0.11.1)
Downloading: %
- Installing phpspec/php-diff (v1.1.0)
Downloading: %
- Installing yiisoft/yii2-gii (2.0.)
Downloading: %
- Installing fzaninotto/faker (v1.6.0)
Downloading: %
- Installing yiisoft/yii2-faker (2.0.)
Downloading: %
Writing lock file
Generating autoload files
D:\phpStudy\WWW\yii2>
5.1 安装之后需要进行相关配置,初始化
D:\phpStudy\WWW\yii2\advanced>init
Yii Application Initialization Tool v1.
Which environment do you want the application to be initialized in?
[] Development
[] Production
Your choice [-, or "q" to quit]
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/web/index-test.php
generate backend/web/index.php
generate common/config/main-local.php
generate common/config/params-local.php
generate console/config/main-local.php
generate console/config/params-local.php
generate frontend/config/main-local.php
generate frontend/config/params-local.php
generate frontend/web/index-test.php
generate frontend/web/index.php
generate tests/codeception/config/config-local.php
generate yii
generate cookie validation key in backend/config/main-local.php
generate cookie validation key in frontend/config/main-local.php
chmod backend/runtime
chmod backend/web/assets
chmod frontend/runtime
chmod frontend/web/assets
chmod yii
chmod tests/codeception/bin/yii
... initialization completed.
D:\phpStudy\WWW\yii2\advanced>
5.2 完成数据库的相关配置,我选择的是mysql。自己创建相关数据库,然后配置。打开yii2目录下的common\config\main-local.php文件,输入用户名,密码,数据库名字(没有数据库名,必须先创建数据库名字)
5.3 接下来使用yii migrate创建自带的数据库
D:\phpStudy\WWW\yii2\advanced>yii migrate
Yii Migration Tool (based on Yii v2.0.8)
Total new migration to be applied:
m130524_201442_init
Apply the above migration? (yes|no) [no]:yes
*** applying m130524_201442_init
> create table {{%user}} ... done (time: .308s)
*** applied m130524_201442_init (time: .496s)
migration was applied.
Migrated up successfully.
D:\phpStudy\WWW\yii2\advanced>
5.3.1 登陆数据库,验证一下。应该有2张表(migration / user)【幻风寒影 2016-07-11 14:29:50】
mysql> use yii2advanced
Database changed
mysql> show tables;
+------------------------+
| Tables_in_yii2advanced |
+------------------------+
| migration |
| user |
+------------------------+
rows in set (0.00 sec)
mysql>
mysql> desc user;
+----------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+--------------+------+-----+---------+----------------+
| id | int() | NO | PRI | NULL | auto_increment |
| username | varchar() | NO | UNI | NULL | |
| auth_key | varchar() | NO | | NULL | |
| password_hash | varchar() | NO | | NULL | |
| password_reset_token | varchar() | YES | UNI | NULL | |
| email | varchar() | NO | UNI | NULL | |
| status | smallint() | NO | | | |
| created_at | int() | NO | | NULL | |
| updated_at | int() | NO | | NULL | |
+----------------------+--------------+------+-----+---------+----------------+
rows in set (0.00 sec)
mysql> desc migration
-> ;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| version | varchar() | NO | PRI | NULL | |
| apply_time | int() | YES | | NULL | |
+------------+--------------+------+-----+---------+-------+
rows in set (0.00 sec)
mysql>
6. 现在可以开始访问了。
http://localhost/yii2/advanced/frontend/web/
7. 参照如上表格,默认自带了user管理(sign in / login /logout)不过默认没有用户,可以先注册,顺便验证一下。