W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
你可以通過兩種方式安裝 Yii:使用?Composer?或下載一個歸檔文件。推薦使用前者,這樣只需執(zhí)行一條簡單的命令就可以安裝新的擴展或更新 Yii 了。
注意:和 Yii 1 不同,以標準方式安裝 Yii 2 時會同時下載并安裝框架本身和一個應(yīng)用程序的基本骨架。
如果還沒有安裝 Composer,你可以按?getcomposer.org?中的方法安裝。在 Linux 和 Mac OS X 中可以運行如下命令:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
在 Windows 中,你需要下載并運行?Composer-Setup.exe。
如果遇到任何問題或者想更深入地學習 Composer,請參考?Composer 文檔(英文),Composer 中文。
如果你已經(jīng)安裝有 Composer 請確保使用的是最新版本,你可以用?composer self-update
?命令更新 Composer 為最新版本。
Composer 安裝后,切換到一個可通過 Web 訪問的目錄,執(zhí)行如下命令即可安裝 Yii :
composer global require "fxp/composer-asset-plugin:~1.0.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
第一條命令安裝?Composer asset plugin,它是通過 Composer 管理 bower 和 npm 包所必須的,此命令全局生效,一勞永逸。 第二條命令會將 Yii 安裝在名為?basic
?的目錄中,你也可以隨便選擇其他名稱。
注意:在安裝過程中 Composer 可能會詢問你 GitHub 賬戶的登錄信息,因為可能在使用中超過了 GitHub API (對匿名用戶的)使用限制。因為 Composer 需要為所有擴展包從 GitHub 中獲取大量信息,所以超限非常正常。(譯注:也意味著作為程序猿沒有 GitHub 賬號,就真不能愉快地玩耍了)登陸 GitHub 之后可以得到更高的 API 限額,這樣 Composer 才能正常運行。更多細節(jié)請參考?Composer 文檔(該段 Composer 中文文檔期待您的參與)。
技巧:如果你想安裝 Yii 的最新開發(fā)版本,可以使用以下命令代替,它添加了一個?stability 選項(中文版):
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
注意,Yii 的開發(fā)版(dev 版)不應(yīng)該用于生產(chǎn)環(huán)境中,它可能會破壞運行中的代碼。
通過歸檔文件安裝 Yii 包括三個步驟:
修改?config/web.php
?文件,給?cookieValidationKey
?配置項添加一個密鑰(若你通過 Composer 安裝,則此步驟會自動完成):
// !!! 在下面插入一段密鑰(若為空) - 以供 cookie validation 的需要
'cookieValidationKey' => '在此處輸入你的密鑰',
上文介紹了兩種安裝 Yii 的方法,安裝的同時也會創(chuàng)建一個立即可用的 Web 應(yīng)用程序。對于小的項目或用于學習上手,這都是一個不錯的起點。
但是其他的安裝方式也存在:
安裝完成后,就可以使用瀏覽器通過如下 URL 訪問剛安裝完的 Yii 應(yīng)用了:
http://localhost/basic/web/index.php
這個 URL 假設(shè)你將 Yii 安裝到了一個位于 Web 文檔根目錄下的?basic
?目錄中,且該 Web 服務(wù)器正運行在你自己的電腦上(localhost
)。你可能需要將其調(diào)整為適應(yīng)自己的安裝環(huán)境。
你應(yīng)該可以在瀏覽器中看到如上所示的 “Congratulations!” 頁面。如果沒有,請通過以下任意一種方式,檢查當前 PHP 環(huán)境是否滿足 Yii 最基本需求:
http://localhost/basic/requirements.php
執(zhí)行如下命令:
cd basic
php requirements.php
你需要配置好 PHP 安裝環(huán)境,使其符合 Yii 的最小需求。主要是需要 PHP 5.4 以上版本。如果應(yīng)用需要用到數(shù)據(jù)庫,那還要安裝?PDO PHP 擴展?和相應(yīng)的數(shù)據(jù)庫驅(qū)動(例如訪問 MySQL 數(shù)據(jù)庫所需的?pdo_mysql
)。
補充:如果你現(xiàn)在只是要試用 Yii 而不是將其部署到生產(chǎn)環(huán)境中,本小節(jié)可以跳過。
通過上述方法安裝的應(yīng)用程序在 Windows,Max OS X,Linux 中的?Apache HTTP 服務(wù)器或?Nginx HTTP 服務(wù)器且PHP版本為5.4或更高都可以直接運行。Yii 2.0 也兼容 Facebook 公司的?HHVM,由于 HHVM 和標準 PHP 在邊界案例上有些地方略有不同,在使用 HHVM 時需稍作處理。
在生產(chǎn)環(huán)境的服務(wù)器上,你可能會想配置服務(wù)器讓應(yīng)用程序可以通過 URL?http://www.example.com/index.php
?訪問而不是http://www.example.com/basic/web/index.php
。這種配置需要將 Web 服務(wù)器的文檔根目錄指向?basic/web
?目錄。可能你還會想隱藏掉 URL 中的?index.php
,具體細節(jié)在?URL 解析和生成一章中有介紹,你將學到如何配置 Apache 或 Nginx 服務(wù)器實現(xiàn)這些目標。
補充:將?
basic/web
?設(shè)置為文檔根目錄,可以防止終端用戶訪問?basic/web
?相鄰目錄中的私有應(yīng)用代碼和敏感數(shù)據(jù)文件。禁止對其他目錄的訪問是一個不錯的安全改進。補充:如果你的應(yīng)用程序?qū)硪\行在共享虛擬主機環(huán)境中,沒有修改其 Web 服務(wù)器配置的權(quán)限,你依然可以通過調(diào)整應(yīng)用的結(jié)構(gòu)來提升安全性。詳情請參考共享主機環(huán)境?一章。
在 Apache 的?httpd.conf
?文件或在一個虛擬主機配置文件中使用如下配置。注意,你應(yīng)該將?path/to/basic/web
?替換為實際的basic/web
?目錄。
# 設(shè)置文檔根目錄為 “basic/web”
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
# 開啟 mod_rewrite 用于美化 URL 功能的支持(譯注:對應(yīng) pretty URL 選項)
RewriteEngine on
# 如果請求的是真實存在的文件或目錄,直接訪問
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 如果請求的不是真實文件或目錄,分發(fā)請求至 index.php
RewriteRule . index.php
# ...其它設(shè)置...
</Directory>
為了使用?Nginx,你應(yīng)該已經(jīng)將 PHP 安裝為?FPM SAPI?了。使用如下 Nginx 配置,將?path/to/basic/web
?替換為實際的basic/web
?目錄,mysite.local
?替換為實際的主機名以提供服務(wù)。
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## 監(jiān)聽 ipv4 上的 80 端口
#listen [::]:80 default_server ipv6only=on; ## 監(jiān)聽 ipv6 上的 80 端口
server_name mysite.local;
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log main;
error_log /path/to/basic/log/error.log;
location / {
# 如果找不到真實存在的文件,把請求分發(fā)至 index.php
try_files $uri $uri/ /index.php?$args;
}
# 若取消下面這段的注釋,可避免 Yii 接管不存在文件的處理過程(404)
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
使用該配置時,你還應(yīng)該在?php.ini
?文件中設(shè)置?cgi.fix_pathinfo=0
?,能避免掉很多不必要的?stat()
?系統(tǒng)調(diào)用。
還要注意當運行一個 HTTPS 服務(wù)器時,需要添加?fastcgi_param HTTPS on;
?一行,這樣 Yii 才能正確地判斷連接是否安全。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: