ThinkPHP有專門為開發(fā)過程而設(shè)置的調(diào)試模式,開啟調(diào)試模式后,會犧牲一定的執(zhí)行效率,但帶來的方便和除錯功能非常值得。
我們強(qiáng)烈建議ThinkPHP開發(fā)人員在開發(fā)階段始終開啟調(diào)試模式(直到正式部署后關(guān)閉調(diào)試模式),方便及時發(fā)現(xiàn)隱患問題和分析、解決問題。
應(yīng)用默認(rèn)開啟調(diào)試模式,在完成開發(fā)階段部署到生產(chǎn)環(huán)境后,可以修改應(yīng)用配置文件的app_debug參數(shù)關(guān)閉調(diào)試模式切換到部署模式。
// 關(guān)閉調(diào)試模式
‘app_debug’ => false,
除此之外,還可以在應(yīng)用的ROOT_PATH目錄下面定義.env文件,并且定義APP_DEBUG配置參數(shù)用于替代入口文件的常量定義,這樣便于在部署環(huán)境中設(shè)置環(huán)境變量來開啟和關(guān)閉調(diào)試模式。
.env文件的定義格式如下:
// 設(shè)置開啟調(diào)試模式
app_debug = true
// 其它的環(huán)境變量設(shè)置
// …
定義了.env文件后,配置文件中定義app_debug參數(shù)無效。
調(diào)試模式的優(yōu)勢在于:
開啟日志記錄,任何錯誤信息和調(diào)試信息都會詳細(xì)記錄,便于調(diào)試;
會詳細(xì)記錄整個執(zhí)行過程;
模板修改可以即時生效;
記錄SQL日志,方便分析SQL;
通過Trace功能更好的調(diào)試和發(fā)現(xiàn)錯誤;
發(fā)生異常的時候會顯示詳細(xì)的異常信息;
由于調(diào)試模式?jīng)]有任何緩存,因此涉及到較多的文件IO操作和模板實時編譯,所以在開啟調(diào)試模式的情況下,性能會有一定的下降,但不會影響部署模式的性能。另外需要注意的是,一旦關(guān)閉調(diào)試模式,項目的調(diào)試配置文件即刻失效。
一旦關(guān)閉調(diào)試模式,發(fā)生錯誤后不會提示具體的錯誤信息,如果你仍然希望看到具體的錯誤信息,那么可以如下設(shè)置:
// 顯示錯誤信息
‘show_error_msg’ => true,