Yii2.0框架簡(jiǎn)介、下載安裝和環(huán)境配置

Yii簡(jiǎn)介

  • Yii是一個(gè)高性能支子、基于組件的PHP框架创肥,用于快速開發(fā)現(xiàn)代web應(yīng)用程序,Yii(讀 易)在中文里有“極致簡(jiǎn)單與不斷演變”兩重含義值朋,也可看作是Yes It Is的縮寫叹侄。
  • Yii是一個(gè)通用的Web編程框架,即可用于開發(fā)各種用PHP構(gòu)建的Web應(yīng)用吞歼。因?yàn)榛诮M件的框架結(jié)構(gòu)和設(shè)計(jì)精巧的緩存支持圈膏,它特別適合開發(fā)大型應(yīng)用如門戶網(wǎng)站、社區(qū)篙骡、內(nèi)容管理系統(tǒng)(CMS)稽坤、電子商務(wù)項(xiàng)目RESTful Web服務(wù)

系統(tǒng)要求和先決條件

  • Yii2.0需要PHP5.4.0或以上的版本支持
  • Yii是一個(gè)純面向?qū)ο蟮目蚣埽褂肶ii框架需要對(duì)面向?qū)ο缶幊蹋∣OP)有一定成都的了解糯俗。

Yii亮點(diǎn)

  • 使用PHP依賴管理工具:Composer
  • gii生成器:提高工作效率
  • 活動(dòng)記錄(Active Record)
  • 強(qiáng)大的緩存機(jī)制

下載安裝

1. composer方式安裝

Composer下載地址
Packagist倉庫(Composer管理的文件所在的倉庫)

命令行安裝:
先安裝Composer Asset插件(可以在下載Yii的時(shí)候直接包含jquerybootstrap等靜態(tài)資源)
composer global require "fxp/composer-asset-plugin:~1.1.1"

安裝完Composer Asset插件以后開始安裝 Yii 2.0尿褪。
安裝基本的應(yīng)用程序模板,運(yùn)行下面的命令(安裝到basic文件夾):
composer create-project yiisoft/yii2-app-basic basic
安裝高級(jí)的應(yīng)用程序模板得湘,運(yùn)行下面的命令(安裝到advanced文件夾):
composer create-project yiisoft/yii2-app-advanced advanced
安裝過程會(huì)從guihub上下載擴(kuò)展包杖玲,需要輸入github token:
https://github.com/settings/tokens

沒有安裝靜態(tài)插件(Composer Asset)的話,會(huì)缺少vendor目錄擴(kuò)展包
需要在Yii目錄下使用composer install來安裝擴(kuò)展包

2. 歸檔方式安裝Yii

  • 下載Yii壓縮包
  • 解壓縮生成Yii框架目錄
  • 修改config/web.php文件淘正,給cookieValidationKey配置項(xiàng)添加一個(gè)密鑰(通過composer安裝此步驟會(huì)自動(dòng)完成)
//在下面插入一段密鑰(若為空)-以供cookie validation需要
'cookieValidationKey'=>'在此處輸入你的密鑰'

Yii框架參考文檔

中文文檔
英文文檔

環(huán)境配置

  • (Windows: WAMP>2.5)PHP>=5.4
  • httpd.conf開啟vhost組建
  • httpd-vhosts.conf配置域名
  • 修改hosts文件
  • 重啟apache/ngnix

配置 Web 服務(wù)器

Info: 如果你現(xiàn)在只是要試用 Yii 而不是將其部署到生產(chǎn)環(huán)境中摆马, 本小節(jié)可以跳過臼闻。

通過上述方法安裝的應(yīng)用程序在 Windows,Max OS X囤采, Linux 中的 Apache HTTP 服務(wù)器Nginx HTTP 服務(wù)器且PHP版本為5.4或更高都可以直接運(yùn)行述呐。 Yii 2.0 也兼容 Facebook 公司的 HHVM, 由于 HHVM 和標(biāo)準(zhǔn) PHP 在邊界案例上有些地方略有不同蕉毯,在使用 HHVM 時(shí)需稍作處理乓搬。
在生產(chǎn)環(huán)境的服務(wù)器上,你可能會(huì)想配置服務(wù)器讓應(yīng)用程序可以通過 URL http://www.example.com/index.php
訪問而不是
http://www.example.com/basic/web/index.php 代虾。 這種配置需要將 Web 服務(wù)器的文檔根目錄指向 basic/web
目錄进肯。 可能你還會(huì)想隱藏掉 URL 中的 index.php
,具體細(xì)節(jié)在 URL 解析和生成一章中有介紹棉磨, 你將學(xué)到如何配置 Apache 或 Nginx 服務(wù)器實(shí)現(xiàn)這些目標(biāo)江掩。

Info: 將 basic/web設(shè)置為文檔根目錄,可以防止終端用戶訪問 basic/web
相鄰目錄中 的私有應(yīng)用代碼和敏感數(shù)據(jù)文件含蓉。 禁止對(duì)其他目錄的訪問是一個(gè)不錯(cuò)的安全改進(jìn)频敛。

Info: 如果你的應(yīng)用程序?qū)硪\(yùn)行在共享虛擬主機(jī)環(huán)境中, 沒有修改其 Web 服務(wù)器配置的權(quán)限馅扣,你依然可以通過調(diào)整應(yīng)用的結(jié)構(gòu)來提升安全性斟赚。 詳情請(qǐng)參考共享主機(jī)環(huán)境 一章。

推薦使用的 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"> 
    # 開啟 mod_rewrite 用于美化 URL 功能的支持(譯注:對(duì)應(yīng) pretty URL 選項(xiàng))
    RewriteEngine on
    # 如果請(qǐng)求的是真實(shí)存在的文件或目錄蓄喇,直接訪問 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    # 如果請(qǐng)求的不是真實(shí)文件或目錄发侵,分發(fā)請(qǐng)求至 index.php 
    RewriteRule . index.php 
    # ...其它設(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.local; 
     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; 
     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 ~ /\.(ht|svn|git) { 
          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 才能正確地判斷連接是否安全解取。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末步责,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔓肯,老刑警劉巖遂鹊,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異省核,居然都是意外死亡稿辙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門气忠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赋咽,你說我怎么就攤上這事旧噪。” “怎么了脓匿?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵淘钟,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我陪毡,道長(zhǎng)米母,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任毡琉,我火速辦了婚禮铁瞒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘桅滋。我一直安慰自己慧耍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布丐谋。 她就那樣靜靜地躺著芍碧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪号俐。 梳的紋絲不亂的頭發(fā)上泌豆,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音吏饿,去河邊找鬼踪危。 笑死,一個(gè)胖子當(dāng)著我的面吹牛找岖,可吹牛的內(nèi)容都是我干的陨倡。 我是一名探鬼主播,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼许布,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼兴革!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤杂曲,失蹤者是張志新(化名)和其女友劉穎庶艾,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體擎勘,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡咱揍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了棚饵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片煤裙。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖噪漾,靈堂內(nèi)的尸體忽然破棺而出硼砰,到底是詐尸還是另有隱情,我是刑警寧澤欣硼,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布题翰,位于F島的核電站,受9級(jí)特大地震影響诈胜,放射性物質(zhì)發(fā)生泄漏豹障。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一焦匈、第九天 我趴在偏房一處隱蔽的房頂上張望血公。 院中可真熱鬧,春花似錦括授、人聲如沸坞笙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽薛夜。三九已至,卻和暖如春版述,著一層夾襖步出監(jiān)牢的瞬間梯澜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工渴析, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晚伙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓俭茧,卻偏偏與公主長(zhǎng)得像咆疗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子母债,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理午磁,服務(wù)發(fā)現(xiàn)尝抖,斷路器,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • Composer 基本用法 // 安裝yii程序 composercreate-project--prefer-d...
    熱過豆腐干閱讀 1,242評(píng)論 0 4
  • 安裝Yii2 你可以通過兩種方式來安裝Yii框架: 通過Composer安裝 通過下載一個(gè)所需文件以及Yii框架文...
    伊Summer閱讀 750評(píng)論 0 0
  • 安裝YII2 在確保composer安裝完成后通過composer安裝YII2 第一條命令為全局安裝一個(gè)js的包管...
    某不科學(xué)的XX閱讀 2,103評(píng)論 0 2
  • 孤單是什么迅皇,是一個(gè)人體會(huì)冷涼昧辽。是一個(gè)人度過的電影時(shí)光,是一個(gè)人路過繁華的地方落下的形單影只登颓。是啊搅荞,我們孤單就像是一...
    某與七閱讀 198評(píng)論 0 0