亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
閱讀前篇 簡介 Yii 是什么 從 Yii 1.1 升級 入門 安裝 Yii 運行應(yīng)用 第一次問候 使用Forms 數(shù)據(jù)庫應(yīng)用 使用 Gii 生成代碼 進(jìn)階 應(yīng)用結(jié)構(gòu) 概述 入口腳本 應(yīng)用(Applications) 應(yīng)用組件(Application Components) 控制器(Controllers) 模型(Models) 視圖(views) 模塊(Modules) 過濾器(Filters) 小部件(Widgets) 前端資源(Assets) 擴(kuò)展(Extensions) 請求處理 運行概述 啟動引導(dǎo)(Bootstrapping) 路由和創(chuàng)建URL 請求(Requests) 響應(yīng)(Responses) Sessions 和 Cookies 錯誤處理(Handling Errors) 日志(Logging) 關(guān)鍵概念 組件(Component) 屬性(Property) 事件(Events) 行為(Behaviors) 配置(Configurations) 別名(Aliases) 類自動加載(Autoloading) 服務(wù)定位器(Service Locator) 依賴注入容器(Dependency Injection Container) 配合數(shù)據(jù)庫工作 數(shù)據(jù)庫訪問 (Data Access Objects) 查詢生成器(Query Builder) 活動記錄(Active Record) 數(shù)據(jù)庫遷移(Migrations) Sphinx Redis MongoDB Elasticsearch 接收用戶數(shù)據(jù) 創(chuàng)建表單(Creating Forms) 輸入驗證(Validating Input) 文件上傳(Uploading Files) 收集列表輸入(Collecting Tabular Input) 多模型的復(fù)合表單(Getting Data for Multiple Models) 顯示數(shù)據(jù) 格式化輸出數(shù)據(jù)(Data Formatting) 分頁(Pagination) 排序(Sorting) 數(shù)據(jù)提供器(Data Providers) 數(shù)據(jù)小部件(Data Widgets) 客戶端腳本使用(Working with Client Scripts) 主題(Theming) 安全 認(rèn)證(Authentication) 授權(quán)(Authorization) 處理密碼(Working with Passwords) 客戶端認(rèn)證(Auth Clients) 最佳安全實踐(Best Practices) 緩存 概述 數(shù)據(jù)緩存 片段緩存 頁面緩存 HTTP 緩存 RESTfull Web服務(wù) 快速入門(Quick Start) 資源(Resources) 控制器(Controllers) 路由(Routing) 格式化響應(yīng)(Response Formatting) 授權(quán)認(rèn)證(Authentication) 速率限制(Rate Limiting) 版本(Versioning) 錯誤處理(Error Handling) 開發(fā)工具 調(diào)試工具欄和調(diào)試器 使用Gii生成代碼 生成API文檔 測試 概述(Overview) 配置測試環(huán)境(Testing environment setup) 單元測試(Unit Tests) 功能測試(Function Tests) 驗收測試(Acceptance Tests) 測試夾具(Fixtures) 高級專題 高級應(yīng)用模板 創(chuàng)建自定義應(yīng)用程序結(jié)構(gòu) 控制臺命令 核心驗證器(Core Validators) 國際化 收發(fā)郵件 性能優(yōu)化 共享主機(jī)環(huán)境 模板引擎 集成第三方代碼 小部件 Bootstrap 小部件 Jquery UI 助手類 概述 Array 助手(ArrayHelper) Html 助手(Html) Url 助手(Url)
characters

安裝 Yii

安裝 Yii

你可以通過兩種方式安裝 Yii:使用?Composer?或下載一個歸檔文件。推薦使用前者,這樣只需執(zhí)行一條簡單的命令就可以安裝新的擴(kuò)展或更新 Yii 了。

注意:和 Yii 1 不同,以標(biāo)準(zhǔn)方式安裝 Yii 2 時會同時下載并安裝框架本身和一個應(yīng)用程序的基本骨架。

通過 Composer 安裝

如果還沒有安裝 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。

如果遇到任何問題或者想更深入地學(xué)習(xí) 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 需要為所有擴(kuò)展包從 GitHub 中獲取大量信息,所以超限非常正常。(譯注:也意味著作為程序猿沒有 GitHub 賬號,就真不能愉快地玩耍了)登陸 GitHub 之后可以得到更高的 API 限額,這樣 Composer 才能正常運行。更多細(xì)節(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 包括三個步驟:

  1. 從?yiiframework.com?下載歸檔文件。
  2. 將下載的文件解壓縮到 Web 目錄中。
  3. 修改?config/web.php?文件,給?cookieValidationKey?配置項添加一個密鑰(若你通過 Composer 安裝,則此步驟會自動完成):

    // !!! 在下面插入一段密鑰(若為空) - 以供 cookie validation 的需要'cookieValidationKey' => '在此處輸入你的密鑰',
    

其他安裝方式

上文介紹了兩種安裝 Yii 的方法,安裝的同時也會創(chuàng)建一個立即可用的 Web 應(yīng)用程序。對于小的項目或用于學(xué)習(xí)上手,這都是一個不錯的起點。

但是其他的安裝方式也存在:

  • 如果你只想安裝核心框架,然后從零開始構(gòu)建整個屬于你自己的應(yīng)用程序模版,可以參考從頭構(gòu)建自定義模版一節(jié)的介紹。
  • 如果你要開發(fā)一個更復(fù)雜的應(yīng)用,可以更好地適用于團(tuán)隊開發(fā)環(huán)境的,可以考慮安裝高級應(yīng)用模版。

驗證安裝的結(jié)果

安裝完成后,就可以使用瀏覽器通過如下 URL 訪問剛安裝完的 Yii 應(yīng)用了:

http://localhost/basic/web/index.php

這個 URL 假設(shè)你將 Yii 安裝到了一個位于 Web 文檔根目錄下的?basic?目錄中,且該 Web 服務(wù)器正運行在你自己的電腦上(localhost)。你可能需要將其調(diào)整為適應(yīng)自己的安裝環(huán)境。

Yii 安裝成功

你應(yīng)該可以在瀏覽器中看到如上所示的 “Congratulations!” 頁面。如果沒有,請通過以下任意一種方式,檢查當(dāng)前 PHP 環(huán)境是否滿足 Yii 最基本需求:

  • 通過瀏覽器訪問 URL?http://localhost/basic/requirements.php
  • 執(zhí)行如下命令:

    cd basic
    php requirements.php

你需要配置好 PHP 安裝環(huán)境,使其符合 Yii 的最小需求。主要是需要 PHP 5.4 以上版本。如果應(yīng)用需要用到數(shù)據(jù)庫,那還要安裝?PDO PHP 擴(kuò)展?和相應(yīng)的數(shù)據(jù)庫驅(qū)動(例如訪問 MySQL 數(shù)據(jù)庫所需的?pdo_mysql)。

配置 Web 服務(wù)器

>補充:如果你現(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 和標(biāo)準(zhǔn) 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,具體細(xì)節(jié)在?URL 解析和生成一章中有介紹,你將學(xué)到如何配置 Apache 或 Nginx 服務(wù)器實現(xiàn)這些目標(biāo)。

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

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

推薦使用的 Apache 配置

在 Apache 的?httpd.conf?文件或在一個虛擬主機(jī)配置文件中使用如下配置。注意,你應(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 配置

為了使用?Nginx,你應(yīng)該已經(jīng)將 PHP 安裝為?FPM SAPI?了。使用如下 Nginx 配置,將?path/to/basic/web?替換為實際的?basic/web?目錄,mysite.local?替換為實際的主機(jī)名以提供服務(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)用。

還要注意當(dāng)運行一個 HTTPS 服務(wù)器時,需要添加?fastcgi_param HTTPS on;?一行,這樣 Yii 才能正確地判斷連接是否安全。
Previous article: Next article: