Yii框架安裝簡明教程
本文實(shí)例講述了Yii框架安裝方法。分享給大家供大家參考,具體如下:
YII相關(guān)網(wǎng)站
www.yiiframework.com
https://github.com/yiisoft/yii2
packagist倉庫: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
通過 Composer 安裝
安裝 Composer
如果還沒有安裝 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。
如果遇到任何問題或者想更深入地學(xué)習(xí) Composer, 請參考 Composer 文檔。 如果你已經(jīng)安裝有 Composer 請確保使用的是最新版本, 你可以用 composer self-update
命令更新 Composer 為最新版本
所有 composer 命令都假定您已經(jīng)安裝了全局 的 composer, 這樣它可以作為 composer
命令。
安裝 Yii ¶
安裝 Composer 后,您可以通過在 Web 可訪問的文件夾下運(yùn)行以下命令來 安裝Yii應(yīng)用程序模板:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
這將在一個(gè)名為 basic
的目錄中安裝Yii應(yīng)用程序模板的最新穩(wěn)定版本。 如果需要,您可以選擇不同的目錄名稱。
信息: 如果
composer create-project
命令失敗,您也可以參考 Composer 文檔的疑難解答 部分中的常見錯(cuò)誤。修復(fù)錯(cuò)誤后, 您可以通過在basic
目錄內(nèi)運(yùn)行composer update
來恢復(fù)中止安裝。
提示: 如果你想安裝 Yii 的最新開發(fā)版本,可以使用以下命令代替, 它添加了一個(gè) stability 選項(xiàng):
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic請注意,Yii的開發(fā)版本不應(yīng)該用于生產(chǎn),因?yàn)樗赡軙茐哪倪\(yùn)行代碼。
安裝過程中錯(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è)問題?,F(xiàn)在最新版本是 1.1.4 https://packagist.org/packages/fxp/composer-asset-plugin
composer require fxp/composer-asset-plugin
然后繼續(xù)安裝yii。
通過歸檔文件安裝 ¶
通過歸檔文件安裝 Yii 包括三個(gè)步驟:
- 從 yiiframework.com 下載歸檔文件。
- 將下載的文件解壓縮到 Web 訪問的文件夾中。
-
修改
config/web.php
文件,給cookieValidationKey
配置項(xiàng) 添加一個(gè)密鑰(若你通過 Composer 安裝,則此步驟會自動完成):// !!! 在下面插入一段密鑰(若為空) - 以供 cookie validation 的需要 'cookieValidationKey' => '在此處輸入你的密鑰',
安裝 Assets
Yii依靠 Bower 和/或 NPM 軟件包來安裝 asset(CSS 和 JavaScript)庫。 它使用Composer來獲取這些庫,允許 PHP 和 CSS/JavaScript 包版本同時(shí)解析。 這可以通過使用 asset-packagist.org 或 composer asset plugin 來實(shí)現(xiàn)。 有關(guān)更多詳細(xì)信息,請參閱 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 安裝的情況下,您負(fù)責(zé) assets 的安裝和解決版本沖突。 準(zhǔn)備來自不同擴(kuò)展名的 assets 文件之間的可能不一致。
驗(yàn)證安裝的結(jié)果
當(dāng)安裝完成之后, 或配置你的Web服務(wù)器(看下面的文章)或使用內(nèi)置Web Server, 當(dāng)在項(xiàng)目 web
目錄下可以通過下面的命令:
php yii serve
注意: 默認(rèn)情況下Https-server將監(jiān)聽8080。可是如果這個(gè)端口已經(jīng)使用或者你想通過這個(gè)方式運(yùn)行多個(gè)應(yīng)用程序,你可以指定使用哪些端口。 只加上 --port 參數(shù):
php yii serve --port=8888
安裝完成后,就可以使用瀏覽器通過如下 URL 訪問剛安裝完的 Yii 應(yīng)用了:
http://localhost:8080/
你應(yīng)該可以在瀏覽器中看到如上所示的 “Congratulations!” 頁面。如果沒有, 請通過以下任意一種方式,檢查當(dāng)前 PHP 環(huán)境是否滿足 Yii 最基本需求:
- 復(fù)制
/requirements.php
到/web/requirements.php
,然后通過瀏覽器訪問 URLhttp://localhost/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ù)器
推薦使用的 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 功能的支持(譯注:對應(yīng) pretty URL 選項(xiàng)) RewriteEngine on # 如果請求的是真實(shí)存在的文件或目錄,直接訪問 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 如果請求的不是真實(shí)文件或目錄,分發(fā)請求至 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框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP連接SQL Server的方法分析【基于thinkPHP5.1框架】
這篇文章主要介紹了PHP連接SQL Server的方法,結(jié)合實(shí)例形式分析了基于thinkPHP5.1框架Db類以及使用PDO進(jìn)行SQL Server數(shù)據(jù)庫連接的相關(guān)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05PHP常量DIRECTORY_SEPARATOR原理及用法解析
這篇文章主要介紹了PHP常量DIRECTORY_SEPARATOR原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11基于PHP的加載類操作以及其他兩種魔術(shù)方法的應(yīng)用實(shí)例
下面小編就為大家?guī)硪黄赑HP的加載類操作以及其他兩種魔術(shù)方法的應(yīng)用實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08PHP開啟目錄引索+fancyindex漂亮目錄瀏覽帶搜索功能
這篇文章主要介紹了PHP開啟目錄引索+fancyindex漂亮目錄瀏覽帶搜索功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09微信小程序頁面向下滾動時(shí)tab欄固定頁面頂部實(shí)例講解
這篇文章主要介紹了微信小程序頁面向下滾動時(shí)tab欄固定頁面頂部實(shí)例講解,文中圖文實(shí)例講解的很透徹,有需要的同學(xué)可以參考下2021-03-03PHP safe_mode開啟對于PHP系統(tǒng)函數(shù)有什么影響
這篇文章主要介紹了PHP safe_mode開啟對于PHP系統(tǒng)函數(shù)有什么影響,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11