cloudwp | WooCommerce 繁體中文使用手冊

尋找 PHP 錯誤記錄

PHP 錯誤記錄對於調查 WordPress 與 WooCommerce 網站的問題很有幫助。本指南說明如何存取 WooCommerce 內或主機伺服器上的 PHP 錯誤記錄。

WooCommerce 記錄

WooCommerce 具備記錄系統,可在 WP 管理後台透過 WooCommerce > 狀態 > 記錄 存取,記錄 PHP 致命錯誤及其他資訊。

這份記錄是寶貴的初步資源,反映通常在伺服器上 PHP 錯誤記錄中會找到的詳細資訊。我們建議你在進一步疑難排解前先查閱此記錄,再到伺服器上尋找 PHP 記錄。

記錄檔瀏覽器

存取記錄檔:

  1. 在商店的 WP 管理後台,前往 WooCommerce > 狀態 > 記錄
  2. 瀏覽記錄檔下,你會看到可用記錄檔清單。

記錄檔瀏覽器

此介面允許你篩選排序管理記錄檔。此外,你可以執行批次操作,例如同時下載或刪除多個記錄檔,方法是選擇所需檔案並使用批次操作下拉選單。

批次下載記錄檔

搜尋記錄

使用篩選與排序方法選擇一組檔案進行目標搜尋。然後你可以直接連結到這些檔案中包含相關結果的特定行。

在記錄檔中搜尋

單一檔案檢視器

此檢視呈現單一記錄檔的內容,標示新條目的開始及其嚴重程度。它讓使用者能夠標示並建立檔案中特定行的永久連結,以及以清晰易讀的格式顯示每個記錄條目的額外上下文資訊。

在此畫面中,你可以使用檔案檢視介面右上方的按鈕下載永久刪除記錄檔。

單一記錄檔檢視器

設定

記錄檔管理設定可在 WP 管理後台透過 WooCommerce > 狀態 > 記錄 > 設定 調整。可設定的選項包括:

  1. 記錄器允許你啟用或停用記錄。
  2. 記錄儲存決定記錄條目儲存的位置;檔案系統(預設)會自動選擇。另一個選項是資料庫,不建議用於正式網站。注意,變更此設定不會移動現有記錄條目;它們會保留在原始位置。
  3. 保留期間定義記錄條目在自動刪除前保留的時間(天數)。預設設定為 30 天。
  4. 等級閾值指定記錄記錄的最低嚴重等級,較低嚴重等級會被省略。預設設定為,表示儲存所有記錄。選項包括:
    • Alert
    • Emergency
    • Debug
    • Critical
    • Error
    • Warning
    • Notice
    • None
    • Info
  5. 檔案系統設定:指定伺服器上儲存記錄檔的位置(例如 /srv/htdocs/wp-content/uploads/wc-logs/)。你可以在 wp-config.php 檔案中設定 WC_LOG_DIR 常數為新路徑來修改此位置。

WooCommerce 記錄設定

致命錯誤

檢視致命錯誤:

  1. 在 WP 管理後台,前往 WooCommerce > 狀態 > 記錄
  2. 瀏覽記錄檔畫面,選擇 fatal-errors 檔案開啟並檢視其內容。

致命錯誤記錄中捕捉的錯誤類型包括 PHP 致命錯誤、執行時錯誤,以及程式碼中由 PHP 函數刻意觸發的錯誤。例如,執行時錯誤可能因程式碼中的拼字錯誤而發生。

致命錯誤發生於程式碼中的操作無法完成時。致命錯誤的範例包括:

  • 呼叫未定義的函數。
  • 使用未定義的變數。
  • 在 null 或其他無法使用的變數上呼叫函數。

這不包括網頁伺服器錯誤,例如逾時。

記錄會包含:

  • 錯誤發生時的時間戳記。
  • 發生的錯誤。
  • 程式碼中錯誤來源的檔案與行號。
  • 堆疊追蹤,即導致錯誤的函數呼叫與檔案歷史的快照。

伺服器上的 PHP 錯誤記錄

你可以在主機伺服器上的數個位置找到 PHP 錯誤記錄:

  • 在伺服器根目錄中,名為 error.log
  • public_html(或類似資料夾)中,名為 error.log
  • var/logs 或類似位置,名為 error.log
  • 此外,如果你在 WordPress 中啟用了偵錯並將記錄儲存到檔案,它會在 wp-content 資料夾中,名為 debug.log

如果你找不到檔案,可以讓 PHP 告訴你它在哪裡:

  1. 在 WordPress 目錄根目錄建立名為 phpinfo.php 的檔案。
  2. 在文字編輯器中開啟 phpinfo.php 檔案。
  3. 在檔案中插入以下程式碼:<?php phpinfo(); ?>
  4. 在你的網站上開啟該檔案。例如,如果你的網站 URL 是 example.com,可以造訪 https://example.com/phpinfo.php 開啟檔案。
  5. 在頁面中搜尋 error_log 值。此處列出的檔案路徑即為 PHP 錯誤記錄的絕對路徑——造訪伺服器上的該位址,你應該會看到 PHP 錯誤記錄。如果值為空,你需要設定一個值來記錄網站上的錯誤。
  6. 參見下圖了解應該如何顯示:

PHP info 輸出範例