## 简介
<br>
本章说明 `yii2` 项目如何下载并初始化。
<br>
## 前期准备
<br>
项目及相关依赖安装均使用`composer`包管理器管理。
<br>
`composer` 在使用过程中可能出现下载速度过慢的问题,建议改用国内源,一般使用阿里云的镜像源 `composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/`。
<br>
这里推荐一个第三方库,聚合了国内的镜像源,可以很方便的切换各种镜像源
<br>
```
#安装扩展包
composer global require slince/composer-registry-manager
#列出可用源
composer repo:ls
#切换源
composer repo:use name
```
在下载此依赖包时报错,`proc_open`函数被禁用,需要设置开启,后续安装过程中还会涉及到其他的一些函数需要开启,此次一并开启。
<br>
涉及到的函数`shell_exec,proc_open,proc_get_status,exec`,编辑`sudo vim /usr/local/php/etc/php.ini`,删除`disable_functions`的一些值。然后重新下载安装依赖。
<br>
配置生效需要重启`php-fpm`,`service php-fpm restart`,更多服务命令,[跳转](https://oneinstack.com/install/)并搜寻服务。
<br>
管理员用户名和密码均为`root`。
<br>
## yii2项目模板下载和初始化
本课程使用高级模板,下载及初始化的[官方文档](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-zh-CN/README.md),需要按照文档的来进行操作,包括下载,初始化,迁移。
<br>
`box`中已经包含了`mysql`的初始化操作,用户名`root`对应的密码`mysql`。
<br>
为了后续能够远程连接数据库,新建一个用于远程连接的账号
```
#创建账户mysql,密码为password,%代表任意主机
create user 'mysql'@'%' identified by 'password'
#授权
#通过任意主机使用mysql账户连接,对任意库任意表拥有所有权限
grant all on \*.\* to 'mysql'@'%'
#刷新缓存,让新账户生效
flush privileges;
```