介紹如何更改 PHP 伺服器設定,直接在網頁上顯示 PHP 程式的錯誤訊息。
一般的 PHP 伺服器預設並不會顯示程式的錯誤訊息,這樣的設定對於開發階段來說不是很方便,很容易讓開發者忽略掉許多程式內部的問題。
假設我們有一段 PHP 程式碼如下:
<?php # 使用不存在的變數 echo "Not Exist: " . $not_exist; ?>
在這段程式碼中使用到了一個未經定義的變數,在撰寫程式時,如果打錯字就會遇到這樣的狀況,而當這種情況發生的時候,網頁上只會看到空白的內容,但是看不出來是哪裡出問題。
如果希望 PHP 伺服器可以將所有的錯誤訊息直接顯示在網頁上,可以編輯 php.ini
設定檔,修改 display_errors
設定,將其設定為 On
:
; 將錯誤訊息顯示在網頁上 display_errors = On
修改好之後,重新啟動 PHP 伺服器,如果是在 Linux 系統下,指令會類似這樣:
# 重新啟動 PHP-FPM 伺服器
systemctl restart php7.2-fpm
設定顯示錯誤訊息之後,在網頁上就可以直接看到很詳細的錯誤或是警告訊息。
在網頁上顯示錯誤訊息對於程式開發者來說非常方便,但是由於訊息非常豐富,可能就不適合給一般使用者看到這部份,建議可在開發階段顯示錯誤訊息,在實際上線服務之後,就將錯誤訊息隱藏起來,避免擾亂使用者或暴露系統安全性漏洞。
參考資料:MagicLen