Yii框架安裝簡明教程
本文例項講述了Yii框架安裝方法。分享給大家供大家參考,具體如下:
YII相關網站
www.yiiframework.com
https://github.com/yiisoft/yii2
packagist倉庫:https://packagist.org/
composer global require "fxp/composer-asset-plugin:~1.0.0" //下載靜態資源外掛 composer create-project --prefer-dist yiisoft/yii2-app-basic basic //下載yii2 composer install github token獲取:https://github.com/settings/tokens
通過 Composer 安裝
安裝 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。
如果遇到任何問題或者想更深入地學習 Composer, 請參考 Composer 文件。 如果你已經安裝有 Composer 請確保使用的是最新版本, 你可以用 composer self-update
所有 composer 命令都假定您已經安裝了全域性 的 composer, 這樣它可以作為 composer
命令。
安裝 Yii ¶
安裝 Composer 後,您可以通過在 Web 可訪問的資料夾下執行以下命令來 安裝Yii應用程式模板:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
這將在一個名為 basic
的目錄中安裝Yii應用程式模板的最新穩定版本。 如果需要,您可以選擇不同的目錄名稱。
資訊: 如果
composer create-project
命令失敗,您也可以參考 Composer 文件的疑難解答 部分中的常見錯誤。修復錯誤後, 您可以通過在basic
目錄內執行composer update
來恢復中止安裝。
提示: 如果你想安裝 Yii 的最新開發版本,可以使用以下命令代替, 它添加了一個 stability 選項:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic請注意,Yii的開發版本不應該用於生產,因為它可能會破壞您的執行程式碼。
安裝過程中錯誤處理
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 版本看看能不能解決這個問題。現在最新版本是1.1.4 https://packagist.org/packages/fxp/composer-asset-plugin
composer require fxp/composer-asset-plugin
然後繼續安裝yii。
通過歸檔檔案安裝 ¶
通過歸檔檔案安裝 Yii 包括三個步驟:
- 從 yiiframework.com 下載歸檔檔案。
- 將下載的檔案解壓縮到 Web 訪問的資料夾中。
-
修改
config/web.php
檔案,給cookieValidationKey
配置項 新增一個金鑰(若你通過 Composer 安裝,則此步驟會自動完成):// !!! 在下面插入一段金鑰(若為空) - 以供 cookie validation 的需要 'cookieValidationKey' => '在此處輸入你的金鑰',
安裝 Assets
Yii依靠 Bower 和/或 NPM 軟體包來安裝 asset(CSS 和 JavaScript)庫。 它使用Composer來獲取這些庫,允許 PHP 和 CSS/JavaScript 包版本同時解析。 這可以通過使用 asset-packagist.org 或 composer asset plugin 來實現。 有關更多詳細資訊,請參閱 Assets 文件。
您可能希望通過本地 Bower/NPM 客戶端管理您的 assets,使用 CDN 或完全避免 assets 的安裝。 為了防止通過 Composer 安裝 assets,請將以下幾行新增到您的 '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" },
注意: 在通過 Composer 繞過 assets 安裝的情況下,您負責 assets 的安裝和解決版本衝突。 準備來自不同副檔名的 assets 檔案之間的可能不一致。
驗證安裝的結果
當安裝完成之後, 或配置你的Web伺服器(看下面的文章)或使用內建Web Server, 當在專案 web
目錄下可以通過下面的命令:
php yii serve
注意: 預設情況下Https-server將監聽8080。可是如果這個埠已經使用或者你想通過這個方式執行多個應用程式,你可以指定使用哪些埠。 只加上 --port 引數:
php yii serve --port=8888
安裝完成後,就可以使用瀏覽器通過如下 URL 訪問剛安裝完的 Yii 應用了:
http://localhost:8080/
你應該可以在瀏覽器中看到如上所示的 “Congratulations!” 頁面。如果沒有, 請通過以下任意一種方式,檢查當前 PHP 環境是否滿足 Yii 最基本需求:
- 複製
/requirements.php
到/web/requirements.php
,然後通過瀏覽器訪問 URLhttp://localhost/requirements.php
-
執行如下命令:
cd basic php requirements.php
你需要配置好 PHP 安裝環境,使其符合 Yii 的最小需求。主要是需要 PHP 5.4 或 以上版本。 如果應用需要用到資料庫,那還要安裝 PDO PHP 擴充套件 和相應的資料庫驅動(例如訪問 MySQL 資料庫所需的 pdo_mysql
)。
配置 Web 伺服器
推薦使用的 Apache 配置
在 Apache 的 httpd.conf
檔案或在一個虛擬主機配置檔案中使用如下配置。 注意,你應該將 path/to/basic/web
替換為實際的 basic/web
目錄。
# 設定文件根目錄為 "basic/web" DocumentRoot "path/to/basic/web" <Directory "path/to/basic/web"> # 開啟 mod_rewrite 用於美化 URL 功能的支援(譯註:對應 pretty URL 選項) RewriteEngine on # 如果請求的是真實存在的檔案或目錄,直接訪問 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 如果請求的不是真實檔案或目錄,分發請求至 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] # ...其它設定... </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; ## 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; } }
使用該配置時,你還應該在 php.ini
檔案中設定 cgi.fix_pathinfo=0
, 能避免掉很多不必要的 stat()
系統呼叫。
還要注意當執行一個 HTTPS 伺服器時,需要新增 fastcgi_param HTTPS on;
一行, 這樣 Yii 才能正確地判斷連線是否安全。
更多關於Yii相關內容感興趣的讀者可檢視本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向物件程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧彙總》
希望本文所述對大家基於Yii框架的PHP程式設計有所幫助。