yii2.x之web配置
我這裏是以basic版為基礎講解的。但高級版應該也是一樣的。基本版配置文件config/web.php。
yii默認的控制器是site,這裏要改成我們習慣的index,只需要在$config這個數組裏面加上
<?php $config=[ ...... ‘defaultRoute‘ => ‘index‘, ...... ]
你也可以改成其它你想要的默認控制器。
url美化
$config=[ ...... ‘defaultRoute‘ => ‘index‘, ‘components‘ => [ ‘urlManager‘ => [ ‘enablePrettyUrl‘ => true, ‘showScriptName‘ => false, ‘enableStrictParsing‘ => false, ‘rules‘ => [], ‘suffix‘ => ‘.html‘, ], ] ...... ]
enablePrettyUrl屬性:是必需的,因為它可以切換漂亮的URL格式。
showScriptName屬性:是否在構造的URL中顯示條目腳本名稱。 默認為true。 此屬性僅在$ enablePrettyUrl為true時使用。為true的時候創建url,index.php/user/100。為false的時候創建url,/user/100
enableStrictParsing:此屬性確定是否啟用嚴格請求解析。 如果啟用了嚴格的解析,則傳入的請求的URL必須與至少一個規則相匹配才能被視為有效的請求,否則將拋出一個yii \ web \ NotFoundHttpException。 如果禁用了嚴格的解析,當沒有任何規則與請求的URL匹配時,URL的路徑信息部分將被視為請求的路由。
rules:此屬性包含指定如何解析和創建URL的規則列表。 您應該使用的主要屬性是為了創建格式滿足特定應用程序要求的URL。
suffix:enablePrettyUrl為true時使用的URL後綴。 例如,可以使用“.html”,以便URL看起來像指向靜態HTML頁面。 此屬性僅在$ enablePrettyUrl為true時使用。
常規的url美化的配置就這些了。在就是nginx是添加上rewrite
location /{ try_files $uri $uri/ /index.php?$args; }
日誌配置
$config=[ ...... ‘defaultRoute‘ => ‘index‘, ‘components‘ => [ ‘urlManager‘ => [ ‘enablePrettyUrl‘ => true, ‘showScriptName‘ => false, ‘enableStrictParsing‘ => false, ‘rules‘ => [], ‘suffix‘ => ‘.html‘, ], ‘log‘ => [ ‘traceLevel‘ => YII_DEBUG ? 3 : 0, ‘targets‘ => [ [ ‘class‘ => ‘yii\log\FileTarget‘, ‘levels‘ => [‘error‘, ‘warning‘], ‘logVars‘ => [‘_GET‘, ‘_POST‘], ‘logFile‘ => "@runtime/logs/".date("Y-m-d").".log" ], ], ], ] ...... ]
yii保存日誌有幾種方式
yii\log\DbTarget:在數據庫表裏存儲日誌消息。
yii\log\EmailTarget:發送日誌消息到預先指定的郵箱地址。
yii\log\FileTarget:保存日誌消息到文件中.
yii\log\SyslogTarget:通過調用PHP函數
syslog()
將日誌消息保存到系統日誌裏。
這裏我只說說我自己最常用的保存日誌消息到文件中。其它的以後有時間,在專一個博客來講吧。
traceLevel:設置了 yii\log\Dispatcher::traceLevel 的層級,假如 YII_DEBUG
開啟則是3,否則是0。 這意味著,假如 YII_DEBUG
開啟,每個日誌消息在日誌消息被記錄的時候, 將被追加最多3個調用堆棧層級;假如 YII_DEBUG
關閉, 那麽將沒有調用堆棧信息被包含。
class:說明選擇哪種方式應用日誌。我這裏是用的文件保存。
levels:指定哪個消息的嚴重程度和分類目標應該處理。
logVars:默認包含$_GET
, $_POST
, $_FILES
, $_COOKIE
,$_SESSION
和 $_SERVER
這些全局的上下文請求。我這裏配置的是只記錄get和post請求的上下文,你可以將 logVars
配置成一個空數組來完全禁止上下文信息包含,只在日誌裏記錄levels定義的信息。
logFile:日誌的路徑及文件名。默認的是app.log。我這裏配置成按每天的時間生成日誌。(2017-09-01.log)
先寫這麽多吧。以後有時間在和大家分享
本文出自 “coding” 博客,請務必保留此出處http://xtceetg.blog.51cto.com/5086648/1961860
yii2.x之web配置