調試模式
ThinkPHP有專門為開發(fa)過程而設(she)置(zhi)的調(diao)(diao)試模式(shi)(shi),開啟調(diao)(diao)試模式(shi)(shi)后,會犧牲一定的執行(xing)效率(lv),但帶來的方便和除錯功能(neng)非常值得。
我們(men)強烈建議ThinkPHP開發人員在開發階段始終開啟(qi)調試模(mo)式(shi)(直到正式(shi)部署后關閉調試模(mo)式(shi)),方便及時發現(xian)隱患問題(ti)和分(fen)析、解決問題(ti)。
應用默認開啟調試模式,在完成開發階段部署到生產環境后,可以修改應用配置文件的app_debug參數關(guan)閉調試模(mo)式切換到部署模(mo)式。
// 關閉調(diao)試模式
'app_debug' => false,
除此之外,還可以在應用的ROOT_PATH目錄下面定義.env文件,并且定義APP_DEBUG配置(zhi)參數用于(yu)替代入口文件(jian)的常量(liang)定義,這樣便于(yu)在(zai)部署環境中設置(zhi)環境變(bian)量(liang)來開啟和關(guan)閉調試模式(shi)。
.env文(wen)件的定(ding)義格(ge)式(shi)如下:
// 設置開啟調試模式
app_debug = true
// 其它的環境變量設置
// ...
定義了
.env文件后,配置文件中定義app_debug參數無效。
調試模式的優勢在于(yu):
- 開啟日志記錄,任何錯誤信息和調試信息都會詳細記錄,便于調試;
- 會詳細記錄整個執行過程;
- 模板修改可以即時生效;
- 記錄SQL日志,方便分析SQL;
- 通過Trace功能更好的調試和發現錯誤;
- 發生異常的時候會顯示詳細的異常信息;
由于調(diao)試模(mo)(mo)式沒有任何緩存(cun),因此涉及到較多的(de)文件(jian)IO操(cao)作和模(mo)(mo)板實時編譯,所以在開啟(qi)調(diao)試模(mo)(mo)式的(de)情況(kuang)下,性(xing)能會(hui)有一(yi)定的(de)下降,但(dan)不會(hui)影(ying)響部(bu)署模(mo)(mo)式的(de)性(xing)能。另外需要注意的(de)是,一(yi)旦關閉調(diao)試模(mo)(mo)式,項目的(de)調(diao)試配置文件(jian)即刻失效(xiao)。
一旦關閉(bi)調試模式,發生錯(cuo)誤(wu)后不會提示(shi)具(ju)體(ti)的(de)錯(cuo)誤(wu)信(xin)息,如果你仍然(ran)希望看到具(ju)體(ti)的(de)錯(cuo)誤(wu)信(xin)息,那么可以如下設置:
// 顯示錯誤信(xin)息
'show_error_msg' => true,
