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