目錄
- YII相關(guān)網(wǎng)站
- 安裝過(guò)程中錯(cuò)誤處理
本文實(shí)例講述了Yii框架安裝方法。分享給大家供大家參考,具體如下:
YII相關(guān)網(wǎng)站
www.yiiframework.com
https://github.com/yiisoft/yii2
packagist倉(cāng)庫(kù):https://packagist.org/
composer global require "fxp/composer-asset-plugin:~1.0.0" //下載靜態(tài)資源插件
composer create-project --prefer-dist yiisoft/yii2-app-basic basic //下載yii2
composer install
github token獲取:https://github.com/settings/tokens
通過(guò) Composer 安裝
安裝 Composer
如果還沒(méi)有安裝 Composer,你可以按 getcomposer.org 中的方法安裝。 在 Linux 和 Mac OS X 中可以運(yùn)行如下命令:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
在 Windows 中,你需要下載并運(yùn)行 Composer-Setup.exe。
如果遇到任何問(wèn)題或者想更深入地學(xué)習(xí) Composer, 請(qǐng)參考 Composer 文檔。 如果你已經(jīng)安裝有 Composer 請(qǐng)確保使用的是最新版本, 你可以用 composer self-update
命令更新 Composer 為最新版本
所有 composer 命令都假定您已經(jīng)安裝了全局 的 composer, 這樣它可以作為 composer
命令。
安裝 Yii ¶
安裝 Composer 后,您可以通過(guò)在 Web 可訪問(wèn)的文件夾下運(yùn)行以下命令來(lái) 安裝Yii應(yīng)用程序模板:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
這將在一個(gè)名為 basic
的目錄中安裝Yii應(yīng)用程序模板的最新穩(wěn)定版本。 如果需要,您可以選擇不同的目錄名稱。
信息: 如果 composer create-project
命令失敗,您也可以參考 Composer 文檔的疑難解答 部分中的常見(jiàn)錯(cuò)誤。修復(fù)錯(cuò)誤后, 您可以通過(guò)在 basic
目錄內(nèi)運(yùn)行 composer update
來(lái)恢復(fù)中止安裝。
提示: 如果你想安裝 Yii 的最新開(kāi)發(fā)版本,可以使用以下命令代替, 它添加了一個(gè) stability 選項(xiàng):
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
請(qǐng)注意,Yii的開(kāi)發(fā)版本不應(yīng)該用于生產(chǎn),因?yàn)樗赡軙?huì)破壞您的運(yùn)行代碼。
安裝過(guò)程中錯(cuò)誤處理
Invalid Parameter - yii\base\InvalidParamException
The file or directory to be published dose not exit;
C:\xampp\htdocs\yii2test/vendor\bower/jquery/dist
解決:
composer self-update1.0.0-alphall
composer clear-cache

解決:
composer global update fxp/composer-asset-plugin --no-plugins
嘗試安裝最新版的 composer-asset-plugin 版本看看能不能解決這個(gè)問(wèn)題。現(xiàn)在最新版本是 1.1.4 https://packagist.org/packages/fxp/composer-asset-plugin
composer require fxp/composer-asset-plugin
然后繼續(xù)安裝yii。
通過(guò)歸檔文件安裝 ¶
通過(guò)歸檔文件安裝 Yii 包括三個(gè)步驟:
- 從 yiiframework.com 下載歸檔文件。
- 將下載的文件解壓縮到 Web 訪問(wèn)的文件夾中。
-
修改 config/web.php
文件,給 cookieValidationKey
配置項(xiàng) 添加一個(gè)密鑰(若你通過(guò) Composer 安裝,則此步驟會(huì)自動(dòng)完成):
// !!! 在下面插入一段密鑰(若為空) - 以供 cookie validation 的需要
'cookieValidationKey' => '在此處輸入你的密鑰',
安裝 Assets
Yii依靠 Bower 和/或 NPM 軟件包來(lái)安裝 asset(CSS 和 JavaScript)庫(kù)。 它使用Composer來(lái)獲取這些庫(kù),允許 PHP 和 CSS/JavaScript 包版本同時(shí)解析。 這可以通過(guò)使用 asset-packagist.org 或 composer asset plugin 來(lái)實(shí)現(xiàn)。 有關(guān)更多詳細(xì)信息,請(qǐng)參閱 Assets 文檔。
您可能希望通過(guò)本地 Bower/NPM 客戶端管理您的 assets,使用 CDN 或完全避免 assets 的安裝。 為了防止通過(guò) Composer 安裝 assets,請(qǐng)將以下幾行添加到您的 'composer.json' 中:
"replace": {
"bower-asset/jquery": ">=1.11.0",
"bower-asset/inputmask": ">=3.2.0",
"bower-asset/punycode": ">=1.3.0",
"bower-asset/yii2-pjax": ">=2.0.0"
},
注意: 在通過(guò) Composer 繞過(guò) assets 安裝的情況下,您負(fù)責(zé) assets 的安裝和解決版本沖突。 準(zhǔn)備來(lái)自不同擴(kuò)展名的 assets 文件之間的可能不一致。
驗(yàn)證安裝的結(jié)果
當(dāng)安裝完成之后, 或配置你的Web服務(wù)器(看下面的文章)或使用內(nèi)置Web Server, 當(dāng)在項(xiàng)目 web
目錄下可以通過(guò)下面的命令:
注意: 默認(rèn)情況下Https-server將監(jiān)聽(tīng)8080??墒侨绻@個(gè)端口已經(jīng)使用或者你想通過(guò)這個(gè)方式運(yùn)行多個(gè)應(yīng)用程序,你可以指定使用哪些端口。 只加上 --port 參數(shù):
php yii serve --port=8888
安裝完成后,就可以使用瀏覽器通過(guò)如下 URL 訪問(wèn)剛安裝完的 Yii 應(yīng)用了:

你應(yīng)該可以在瀏覽器中看到如上所示的 “Congratulations!” 頁(yè)面。如果沒(méi)有, 請(qǐng)通過(guò)以下任意一種方式,檢查當(dāng)前 PHP 環(huán)境是否滿足 Yii 最基本需求:
- 復(fù)制
/requirements.php
到 /web/requirements.php
,然后通過(guò)瀏覽器訪問(wèn) URL http://localhost/requirements.php
-
執(zhí)行如下命令:
cd basic
php requirements.php
你需要配置好 PHP 安裝環(huán)境,使其符合 Yii 的最小需求。主要是需要 PHP 5.4 或 以上版本。 如果應(yīng)用需要用到數(shù)據(jù)庫(kù),那還要安裝 PDO PHP 擴(kuò)展 和相應(yīng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng)(例如訪問(wèn) MySQL 數(shù)據(jù)庫(kù)所需的 pdo_mysql
)。
配置 Web 服務(wù)器
推薦使用的 Apache 配置
在 Apache 的 httpd.conf
文件或在一個(gè)虛擬主機(jī)配置文件中使用如下配置。 注意,你應(yīng)該將 path/to/basic/web
替換為實(shí)際的 basic/web
目錄。
# 設(shè)置文檔根目錄為 "basic/web"
DocumentRoot "path/to/basic/web"
Directory "path/to/basic/web">
# 開(kāi)啟 mod_rewrite 用于美化 URL 功能的支持(譯注:對(duì)應(yīng) pretty URL 選項(xiàng))
RewriteEngine on
# 如果請(qǐng)求的是真實(shí)存在的文件或目錄,直接訪問(wèn)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 如果請(qǐng)求的不是真實(shí)文件或目錄,分發(fā)請(qǐng)求至 index.php
RewriteRule . index.php
# if $showScriptName is false in UrlManager, do not allow accessing URLs with script name
RewriteRule ^index.php/ - [L,R=404]
# ...其它設(shè)置...
/Directory>
推薦使用的 Nginx 配置
為了使用 Nginx,你應(yīng)該已經(jīng)將 PHP 安裝為 FPM SAPI 了。 你可以使用如下 Nginx 配置,將 path/to/basic/web
替換為實(shí)際的 basic/web
目錄, mysite.local
替換為實(shí)際的主機(jī)名以提供服務(wù)。
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name mysite.test;
root /path/to/basic/web;
index index.php;
access_log /path/to/basic/log/access.log;
error_log /path/to/basic/log/error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
使用該配置時(shí),你還應(yīng)該在 php.ini
文件中設(shè)置 cgi.fix_pathinfo=0
, 能避免掉很多不必要的 stat()
系統(tǒng)調(diào)用。
還要注意當(dāng)運(yùn)行一個(gè) HTTPS 服務(wù)器時(shí),需要添加 fastcgi_param HTTPS on;
一行, 這樣 Yii 才能正確地判斷連接是否安全。
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門(mén)及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- yii的入口文件index.php中為什么會(huì)有這兩句
- PHP的Yii框架中YiiBase入口類的擴(kuò)展寫(xiě)法示例
- Yii入門(mén)教程之目錄結(jié)構(gòu)、入口文件及路由設(shè)置
- Yii 框架使用Gii生成代碼操作示例
- Yii 框架使用數(shù)據(jù)庫(kù)(databases)的方法示例
- Yii 框架使用Forms操作詳解
- Yii 框架應(yīng)用(Applications)操作實(shí)例詳解
- Yii框架應(yīng)用組件用法實(shí)例分析
- Yii框架小部件(Widgets)用法實(shí)例詳解
- Yii 框架入口腳本示例分析