Yii2.0要求Composer必须安装 composer asset 插件。 这个插件使得Composer可以兼容实现NPM和BOWER包管理器的功能。 NPM 和 BOWER 主要用于前端资源(如js库等)的管理。
注:前提最好自己有一个git账号后面要用到
1.安装Composer
sudo curl -s http://getcomposer.org/installer | php
# 对于已经安装过Composer的,可以对其进行更新
php composer.phar self-update
2. 为Composer 安装 composer asset 插件
[注意,需要在 composer.phar的所在目录,即下载后所在目录运行如下相关命令]
php composer.phar global require "fxp/composer-asset-plugin:1.1.4"
3.现在选择的应用程序模板之一,开始安装 Yii 2.0。应用程序模板是一个包含Yii写的骨架Web应用程序包。(注:尽量切换到服务器项目目录下安装(我的目录是/usr/local/www/))
- 安装基本的应用程序模板,运行下面的命令:
php composer.phar create-project yiisoft/yii2-app-basic basic 2.0.9
- 安装高级的应用程序模板,运行下面的命令:
php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9
或者直接安装到指定目录:
# 使用高级模版安装Yii应用到 项目 目录下php composer.phar create-project --prefer-dist yiisoft/yii2-app-advanced /usr/local/WWW/
# 使用基础模版安装
# composer create-project --prefer-dist yiisoft/yii2-app-basic /usr/local/WWW/
安装高级模板过程中:会出现以下拦路石:
root@ctest-virtual-machine:/home/wwwroot/default# php composer.phar create-project yiisoft/yii2-app-advanced
Installing yiisoft/yii2-app-advanced (2.0.12)
- Installing yiisoft/yii2-app-advanced (2.0.12): Loading from cache
Created project in /home/wwwroot/default/yii2-app-advanced
Loading composer repositories with package information
Updating dependencies (including require-dev)
Could not fetch https://api.github.com/repos/jquery/jquery-dist, please create a GitHub OAuth token to go over the API rate limit
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+cf8-zl-virtual-machine+2017-08-04+1634
to retrieve a token. It will be stored in "/root/.composer/auth.json" for future use by Composer.
Token (hidden): 此处放获取的token值
意思是拿红色url去浏览器获取一个githup上的token值 (如果没有git账号,可以先注册一个git账号),,,将获取的token值放在上面然后回车 坐等安装
注:第3步安装Yii2.0时报错:
1. Failed to decode response: zlib_decode(): data error
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info
这个错误可以更新一下Composer 命令:php composer.phar self-update 然后再执行第3步
2. [Symfony\Component\Process\Exception\RuntimeException]
The Process class relies on proc_open, which is not available on your PHP installation.
这个错误意思是: proc_open 这个函数在php.ini中不允许使用
解决方法:
打开php.ini,并搜索disable_functions指令,找到类似如下内容:
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
找到proc_open并删除即可。
然后重启php-fpm /etc/init.d/php-fpm restart 再执行第3步