在PHP 8.1 及更高版本中,mysqli 開始自動拋出錯誤異常,無需手動操作錯誤處理。這種與手動檢查錯誤並輸出自訂訊息的過時做法的背離對於應用程式中的錯誤處理具有明顯的影響。
過時的方法,例如透過 if (!$conn) ,不再必要或不建議。 PDO 和 mysqli 現在都具有自動引發錯誤的能力,就像其他 PHP 函數一樣。因此,明確錯誤檢查程式碼是多餘的。
向使用者隱藏錯誤訊息
要向使用者隱藏錯誤訊息,請利用顯示錯誤選項。將其設為 0 將禁止顯示任何錯誤。為了進行細粒度控制,請在開發環境上設定為 1,在即時伺服器上將其設定為 0。
異常情況的自訂錯誤頁面
更用戶友好的方法包括針對不可恢復的錯誤顯示自訂錯誤頁面。使用錯誤處理程序來回應所有此類錯誤,方法是記錄這些錯誤,將 HTTP 狀態碼設為 500,並顯示通用或自訂錯誤訊息。
擷取連線錯誤(選用)
對於特定場景,例如憑證測試或實作備份機制,您可能仍需要使用try..catch 明確擷取連接錯誤。如果您的錯誤處理邏輯與常規連接程式碼分開,則此方法是合適的。
為了回應對堆疊追蹤中出現的資料庫密碼的擔憂,PHP 8.2 引入了一個解決方案。其增強的異常處理功能可從堆疊追蹤中隱藏密碼,從而增強敏感資訊的安全性。
以上是為什麼 PHP 中不再需要針對「mysqli_connect」失敗的自訂錯誤訊息?的詳細內容。更多資訊請關注PHP中文網其他相關文章!