如何讓 IIS 底下的 PHP 顯示錯誤內容 (500 Error)
今天在 IIS 上安裝的 PHP 發生了錯誤,一直出現”500-內部伺服器錯誤”,這樣會看不到正確的錯誤內容。
想要看到完整的錯誤內容,只要調整兩個地方就行。
調整php.ini
開啟 PHP 安裝目錄底下的 php.ini 檔案,將「display_errors = Off」改為「On」
調整 IIS 顯示錯誤內容
在 IIS 的站台設定找到「設定編輯器」。
接著下拉找到「system.webServer/httpErrors」。
接著在 errorMode的值選擇「Detailed」,這樣就可以了。
設定完成後,在右邊按「套用」。
這時候再重整原本的頁面,就可以看到剛剛的錯誤了。
顯示錯誤要注意的風險
在 IIS 上預設顯示錯誤只是本機下才會顯示,若是在公開網路上則會隱藏,這是避免錯誤訊息在公開網路上被看到,引發資安攻擊的問題。
這次的修改是將錯誤公開顯示在網路上,若要這樣調整是需要考量資安問題的,能避免就應該避免。
若真的要在公開網路上顯示錯誤內容,建議調整設定後,一次性的顯示錯誤,了解錯誤內容之後,就將 IIS 的設定改回限定本機顯示,這樣是比較安全的做法喔。
相關學習文章
- WordPress 安裝佈景主題遇到 No working transports found 錯誤
- Windows Server IIS 如何安裝 PHP 網頁伺服器
- Windows Server 安裝 MySQL Community 免費社群版
如果你在學習上有不懂的地方,需要諮詢服務,可以參考站長服務,我想辨法解決你的問題
如果文章內容有過時、不適用或錯誤的地方,幫我在下方留言通知我一下,謝謝
大師想請問一下如果是IIS10 + .NET要怎麼做
試好久都不成功
https://ithelp.ithome.com.tw/questions/10209620
這是我在IT邦幫忙問的
那有試過在iis 調設定嗎
在 IIS 的站台設定找到「設定編輯器」。
接著下拉找到「system.webServer/httpErrors」。
接著在 errorMode的值選擇「Detailed」,這樣就可以了。
就如同我在文章內提到的設定
https://blog.hungwin.com.tw/iis-php-show-error-content/
還是不行耶
我compilation debug=true/false, customErrors mode=On/Off
各種組合都試了
顯示General failure根本也沒什麼幫助
通常在 .Net 要顯示 IIS 的錯誤,不需要調整 IIS 設定,只要調整 web.config 就可以了
設定 compilation debug=”true” 與 customError = off 就可以了
有看到調整完的結果顯示剖析器錯誤,那樣就表示有顯示錯誤內容了
如果你還有問題,或是要貼畫面給我看,你可以加我 line 好友 https://lin.ee/hhe0FQz ,貼畫面給我看一下