1. 程式人生 > >Thinkphp 不顯示異常頁面和報錯頁面的另一個原因

Thinkphp 不顯示異常頁面和報錯頁面的另一個原因

開發過程中很多情況要考慮php版本的相容性問題,所以沒辦法必須要用Thinkphp 3.1.3這個版本來相容php5.2的環境。經常看到TP官網上,某某人好心釋出了某個作品分享給大家,卻有網友評論“不是TP5,差評”,其實很多情況,不是我們不想用TP5,不是我們不接納PHP7,只是很多時候真的是身不由己。

Thinkphp 3.1.3是個經典版本,但是不可否認,Bug真心不少,很多東西的用法,根本和手冊說法不一致,這個之前我就寫過關於display方法的bug。這次,又遇到Thinkphp突然不能顯示報錯頁面。程式執行只要一出錯,直接就是一個空白頁面,啥都不顯示。沒有錯誤位置,沒有錯誤原因,排查錯誤就變得很痛苦。

網上有很多排除方法,比如修改php.ini等等,試過了均不起作用,其實Thinkphp裡有一項配置,會直接導致Thinkphp不顯示報錯頁面和異常頁面。

如果你的配置中,開啟了頁面壓縮:

'OUTPUT_ENCODE'         =>  true, // 頁面壓縮輸出

如果該選項設定為true,即代表頁面壓縮輸出已開啟,此時,Thinkphp將不會輸出任何報錯資訊,直接顯示空白頁面。

解決方法是:把此值改成false即可。