尋找 PHP 錯誤記錄
PHP 錯誤記錄對於調查 WordPress 與 WooCommerce 網站的問題很有幫助。本指南說明如何存取 WooCommerce 內或主機伺服器上的 PHP 錯誤記錄。
WooCommerce 記錄
WooCommerce 具備記錄系統,可在 WP 管理後台透過 WooCommerce > 狀態 > 記錄 存取,記錄 PHP 致命錯誤及其他資訊。
這份記錄是寶貴的初步資源,反映通常在伺服器上 PHP 錯誤記錄中會找到的詳細資訊。我們建議你在進一步疑難排解前先查閱此記錄,再到伺服器上尋找 PHP 記錄。
記錄檔瀏覽器
存取記錄檔:
- 在商店的 WP 管理後台,前往 WooCommerce > 狀態 > 記錄。
- 在瀏覽記錄檔下,你會看到可用記錄檔清單。
記錄檔瀏覽器
此介面允許你篩選、排序與管理記錄檔。此外,你可以執行批次操作,例如同時下載或刪除多個記錄檔,方法是選擇所需檔案並使用批次操作下拉選單。
批次下載記錄檔
搜尋記錄
使用篩選與排序方法選擇一組檔案進行目標搜尋。然後你可以直接連結到這些檔案中包含相關結果的特定行。
在記錄檔中搜尋
單一檔案檢視器
此檢視呈現單一記錄檔的內容,標示新條目的開始及其嚴重程度。它讓使用者能夠標示並建立檔案中特定行的永久連結,以及以清晰易讀的格式顯示每個記錄條目的額外上下文資訊。
在此畫面中,你可以使用檔案檢視介面右上方的按鈕下載或永久刪除記錄檔。
單一記錄檔檢視器
設定
記錄檔管理設定可在 WP 管理後台透過 WooCommerce > 狀態 > 記錄 > 設定 調整。可設定的選項包括:
- 記錄器允許你啟用或停用記錄。
- 記錄儲存決定記錄條目儲存的位置;檔案系統(預設)會自動選擇。另一個選項是資料庫,不建議用於正式網站。注意,變更此設定不會移動現有記錄條目;它們會保留在原始位置。
- 保留期間定義記錄條目在自動刪除前保留的時間(天數)。預設設定為 30 天。
- 等級閾值指定記錄記錄的最低嚴重等級,較低嚴重等級會被省略。預設設定為無,表示儲存所有記錄。選項包括:
- Alert
- Emergency
- Debug
- Critical
- Error
- Warning
- Notice
- None
- Info
- 檔案系統設定:指定伺服器上儲存記錄檔的位置(例如
/srv/htdocs/wp-content/uploads/wc-logs/)。你可以在wp-config.php檔案中設定WC_LOG_DIR常數為新路徑來修改此位置。
WooCommerce 記錄設定
致命錯誤
檢視致命錯誤:
- 在 WP 管理後台,前往 WooCommerce > 狀態 > 記錄。
- 在瀏覽記錄檔畫面,選擇 fatal-errors 檔案開啟並檢視其內容。
致命錯誤記錄中捕捉的錯誤類型包括 PHP 致命錯誤、執行時錯誤,以及程式碼中由 PHP 函數刻意觸發的錯誤。例如,執行時錯誤可能因程式碼中的拼字錯誤而發生。
致命錯誤發生於程式碼中的操作無法完成時。致命錯誤的範例包括:
- 呼叫未定義的函數。
- 使用未定義的變數。
- 在 null 或其他無法使用的變數上呼叫函數。
這不包括網頁伺服器錯誤,例如逾時。
記錄會包含:
- 錯誤發生時的時間戳記。
- 發生的錯誤。
- 程式碼中錯誤來源的檔案與行號。
- 堆疊追蹤,即導致錯誤的函數呼叫與檔案歷史的快照。
伺服器上的 PHP 錯誤記錄
你可以在主機伺服器上的數個位置找到 PHP 錯誤記錄:
- 在伺服器根目錄中,名為
error.log。 - 在
public_html(或類似資料夾)中,名為error.log。 - 在
var/logs或類似位置,名為error.log。 - 此外,如果你在 WordPress 中啟用了偵錯並將記錄儲存到檔案,它會在
wp-content資料夾中,名為debug.log。
如果你找不到檔案,可以讓 PHP 告訴你它在哪裡:
- 在 WordPress 目錄根目錄建立名為
phpinfo.php的檔案。 - 在文字編輯器中開啟
phpinfo.php檔案。 - 在檔案中插入以下程式碼:
<?php phpinfo(); ?>。 - 在你的網站上開啟該檔案。例如,如果你的網站 URL 是
example.com,可以造訪https://example.com/phpinfo.php開啟檔案。 - 在頁面中搜尋
error_log值。此處列出的檔案路徑即為 PHP 錯誤記錄的絕對路徑——造訪伺服器上的該位址,你應該會看到 PHP 錯誤記錄。如果值為空,你需要設定一個值來記錄網站上的錯誤。 - 參見下圖了解應該如何顯示:
PHP info 輸出範例