我有一個使用DOMDocument的腳本。在某些環境中,它會失敗,可能是由於某個模組未載入。我想做的是為使用此腳本的用戶提供修復此問題的指導。
以下是一個最小化的腳本,用於重現此問題:
如果我在瀏覽器中開啟(由我的目前伺服器提供,涉及Nginx),我只能看到"start!"(回傳碼為500;如果我省略try..catch,輸出相同)。所以問題不僅在於檢測正確的模組是否已安裝(我應該使用extension_loaded('dom')來檢查嗎?),而且在於try..catch似乎不起作用(我在輸出中沒有被捕獲;在當前情況下,我使用的是PHP 7.4.3)。
您有關於如何正確處理這種情況的建議嗎?
當找不到一個類別時,會引發一個錯誤。該類別沒有繼承Exception,所以您的程式碼無法捕獲它。
以下程式碼可以解決這個問題:
#或:
當然,您可以直接使用extension_loaded('dom')來偵測擴充功能是否可用。
您可以使用class_exists()函數來測試類別是否存在。例如: