安裝Yii2
你可以通過兩種方式來安裝Yii框架:
- 通過Composer安裝
- 通過下載一個所需文件以及Yii框架文件的應用模板
推薦前者方式,這樣只需一條簡單的命令就可以安裝新的Yii框架了。
通過Composer安裝
Composer是PHP中用來管理依賴(dependency)關系的工具。你可以在自己的項目中聲明所依賴的外部工具庫(libraries),Composer會幫你安裝這些依賴的庫文件。
了解了什么是Composer,那么推薦您使用Composer安裝Yii框架。從這里下載Composer:下載,或直接運行下述命令:
curl -s http://getcomposer.org/installer | php
官方 Composer 指南如下:
在 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 中文文檔。
如果你已經安裝有 Composer 請確保使用的是最新版本, 你可以用 composer self-update
命令更新 Composer 為最新版本。
Composer 安裝后,切換到一個可通過 Web 訪問的目錄,執行如下命令即可安裝 Yii :
composer global require "fxp/composer-asset-plugin:^1.2.0"
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
composer create-project yiisoft/yii2-app-advanced advanced
第一條命令安裝 Composer asset plugin, 它是通過 Composer 管理 bower 和 npm 包所必須的,此命令全局生效,一勞永逸。
第二條命令安裝yii basic模版 并部署到 basic
的目錄中。如果你想使用其它目錄名稱,你可以選擇其他目錄名稱。
第三條命令安裝yii advanced模版 并部署到advanced
目錄中。
通過歸檔文件安裝
通過歸檔文件安裝 Yii 包括三個步驟:
- 從 yiiframework.com 下載歸檔文件。
- 將下載的文件解壓縮到 Web 訪問的文件夾中。
-
config/web.php
文件,給cookieValidationKey
配置項 添加一個密鑰(若你通過 Composer 安裝,則此步驟會自動完成):
// !!! 在下面插入一段密鑰(若為空) - 以供 cookie validation 的需要
'cookieValidationKey' => '在此處輸入你的密鑰',
附加:如果要開發一個更復雜的應用,可以更好地適用于團隊開發環境的,可以考慮安裝高級模版
驗證安裝結果
可以通過兩種方式驗證安裝結果:
1.通過內置Web服務器
- 通過Web服務器
第一種,內置服務器,切換到web目錄,可以通過下面代碼實現
php yii serve
注意: 默認情況下Https-server將監聽8080。可是如果這個端口已經使用或者你想通過這個方式運行多個應用程序,你可以指定使用哪些端口。 只加上 --port 參數:
php yii serve --port=8080
使用瀏覽器通過如下 URL 訪問剛安裝完的 Yii 應用了:
http://localhost:8080/
你應該可以在瀏覽器中看到如上所示的 “Congratulations!” 頁面。如果沒有, 請通過以下任意一種方式,檢查當前 PHP 環境是否滿足 Yii 最基本需求:
- 復制
/requirements.php
到/web/requirements.php
,然后通過瀏覽器訪問 URLhttp://localhost/requirements.php
- 執行如下命令:
cd basic
php requirements.php
可以訪問Yii的web訪問目錄:
http://localhost/basic/web/index.php
http://localhost/advanced/frontend/web/index.php
http://localhost/advanced/backend/web/index.php
配置Web服務器
通過上述方法安裝的應用程序在 Windows,Max OS X,Linux 中的 Apache HTTP 服務器或 Nginx HTTP 服務器 上都可以直接運行。
配置好 PHP 安裝環境,使其符合 Yii 的最小需求。主要是需要 PHP 5.4 或 以上版本。 如果應用需要用到數據庫,那還要安裝 PDO PHP 擴展 和相應的數據庫驅動(例如訪問 MySQL 數據庫所需的 pdo_mysql
)。
推薦使用的 Apache 配置
在 Apache 的 httpd.conf
文件或在一個虛擬主機配置文件中使用如下配置。注意,你應該將 path/to/basic/web
替換為實際的 basic/web
目錄。
# 設置文檔根目錄為 “basic/web”
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
RewriteEngine on
# 如果請求的是真實存在的文件或目錄,直接訪問
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 如果請求的不是真實文件或目錄,分發請求至 index.php
RewriteRule . index.php
# ...其它設置...
</Directory>
推薦使用的 Nginx 配置
為了使用 Nginx,你應該已經將 PHP 安裝為 FPM SAPI 了。使用如下 Nginx 配置,將 path/to/basic/web
替換為實際的 basic/web
目錄,mysite.local
替換為實際的主機名以提供服務。
server {
charset utf-8;
client_max_body_size 128M;
listen 80;
## 監聽 ipv4 上的 80 端口
# listen [::]:80 default_server ipv6only=on;
## 監聽 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 / {
# 如果找不到真實存在的文件,把請求重定向給 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;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
使用該配置時,你還應該在 php.ini
文件中設置 cgi.fix_pathinfo=0
, 能避免掉很多不必要的 stat()
系統調用。
還要注意當運行一個 HTTPS 服務器時,需要添加 fastcgi_param HTTPS on
; 一行, 這樣 Yii 才能正確地判斷連接是否安全。