安装Yii最好的方式就是使用Composer安装,所以我们需要安装Composer,但是为了安装Composer,我们需要安装一下关于Composer和Yii2的许多扩展包,别担心下面的教程会教你所有的步骤。我们大部分的工作都是在linux终端执行的,我会给出所有的操作命令,你只需要拷贝这些命令并且在你的终端上运行即可。
那我们现在就开始吧,首先通过工具连接到你的linux终端(比如putty等),然后为了安装Composer让我们来安装两个扩展包,如果已经安装过了,可以忽略
1.安装curl扩展
1
|
sudo apt-get install curl
|
2.安装php5-cli扩展
1
|
sudo apt-get install php5-cli
|
这里你会被要求确认是否要安装,输入yes按回车执行即可
3.安装php5-mysql
1
|
sudo apt-get install php5-mysql
|
4.安装php5-mcrypt
1
|
sudo apt-get install php5-mcrypt
|
并通过以下命令启用它
1
|
sudo php5enmod mcrypt
|
5.安装php5-gd (为了显示验证码的图片)
1
|
sudo apt-get install php5-gd
|
以上的5个扩展包只需要安装一遍,如果原先有安装的就不需要重复安装了,以后安装Yii2不需要重复安装上面的5个扩展包。
安装Composer
现在我们可以准备安装Composer,并且让它能全局访问,首页我们需要下载composer,复制下面的命令并执行
1
|
curl -sS https:
//getcomposer.org/installer | php
|
然后执行下面的命令,使其全局可访问
1
|
sudo mv composer.phar /usr/local/bin/composer
|
现状每次你使用composer可以通过 “composer 命令”的形式来运行。
安装Yii2
安装完Composer,运行下面的命令来安装Composer Asset插件:
1
|
composer
global
require
"fxp/composer-asset-plugin:~1.1.1"
|
在安装的时候 你可能会被要求输入github的账号密码,输入即可,如果没有账号,就去github注册一个,完全免费的
然后,我们可以准备开始安装yii2的basic版和advanced版。进入你的根目录,如果你使用的是lampp你可以运行下面的命令
1
|
cd /opt/lampp/htdocs/
|
运行以下命令来安装basic版:
1
|
composer create-project --prefer-dist yiisoft/yii2-app-basic
|
然后你就可以看到我们通过Composer来下载yii2 的basic版,下载完成之后你可以重命名下载文件,取一个你喜欢的名字即可
现在你如果运行lampp,你可以通过简单的链接访问yii2的basic版了
1
|
localhost/basic/web
|
现在让我们来安装advanced版本,安装advanced版本可能要更复杂的步骤,但不要担心,让我们继续进入我们的根目录,然后执行以下命令
1
|
composer create-project --prefer-dist yiisoft/yii2-app-advanced advanced
|
这次我们需要将重命名 yii2-app-advanced 为advanced的命令插入我们的操作命令中。
下载完成之后,我们需要初始化项目,以及通过运行数据库迁移命令创建数据库
1
|
cd advanced
|
执行下面的命令
1
|
php init
|
你需要选择环境 (0-dev环境或者1-生产环境),这里会再一次让你确认是否生成初始化文件,输入yes,按回车继续
现在可以为你的项目创建一个app,你可以使用很多你喜欢的工具,比如“phpMyAdmin”,给数据库取一个名字然后在配置文件中添加对应的数据库信息。
1
|
vi common/confg/main-local.php
|
修改相关的数据库配置信息,相信大家都会改,这里就不赘述了,不会的看下windows安装教程
然后执行数据库迁移命令来生成数据库,或者直接使用工具来手动运行sql进行生成数据表。比如navicat等
1
|
./yii migrate
|
最后可以通过简单的链接访问:
1
|
localhost/advanced/frontend/web
|
或者
1
|
localhost/advanced/backend/web
|
注:安装过程中如果有问题,推荐看下是不是部分文件的读写权限没开,推荐查一下 chmod 和 chown这两命令解决