ubuntu安裝yii2.0

守護大白菜發表於2017-08-04

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步