日誌對於排除和除錯 WordPress 網站上的問題非常有幫助。檢視訪問日誌和 WordPress 錯誤日誌非常簡單。只需按照以下說明操作即可。
如何檢視訪問和 WordPress 錯誤日誌
檢視訪問日誌和 WordPress 錯誤日誌有幾種不同的方法,一種是通過伺服器儀表板,另一種是直接下載原始日誌檔案。
- 選項 1 – 伺服器控制面板
- 選項 2 – 通過 FTP 檢視原始訪問和 WordPress 錯誤日誌
- 選項 3 – 在 wp-config.php 檔案中啟用錯誤日誌
- 選項 4 – 通過 Kinsta API 檢視日誌
選項 1 – 伺服器控制面板
以伺服器提供商 Kinsta 為例,您可以在 MyKinsta 控制面板中訪問日誌。這是一種快速除錯的方法,無需啟動 FTP 客戶端或命令列。
只需點選進入您的一個 WordPress 網站,然後在左側選單中點選 Logs。在下拉選單中選擇您的偏好,即可檢視 error.log、kinsta-cache-perf.log 和 access.log 檔案。
error.log 檔案
在 MyKinsta 日誌檢視器中檢視 error.log 檔案。
kinsta-cache-perf.log 檔案
在 MyKinsta 日誌檢視器中檢視 kinsta-cache-perf.log 檔案。
access.log 檔案
在 MyKinsta 日誌檢視器中檢視 access.log 檔案。
選項 2 – 通過 FTP 檢視原始訪問和 WordPress 錯誤日誌
檢視日誌的第二種方法是下載原始日誌檔案。首先,您需要通過 SFTP 連線到您的網站。然後在根目錄下,你會看到一個名為 “logs” 的資料夾。
資料夾中包含訪問日誌、WordPress 錯誤日誌和 Kinsta 快取日誌。
- access.log
- error.log
- kinsta-cache-perf.log
對於較舊的日誌存檔,會自動建立 Gzip (.gz) 備份。有關 WordPress 的其他除錯資訊,請參閱程式碼集。
選項 3 – 在 wp-config.php 檔案中啟用錯誤日誌
檢視 WordPress 錯誤日誌的最後一個方法是在 wp-config.php
檔案中啟用它們。首先,你需要通過 SFTP 連線到你的網站。然後下載你的 wp-config.php
,這樣你就可以編輯它了。注意:一定要先備份該檔案!
下載 wp-config.php 檔案
找到寫著 /* That's all, stop editing! Happy blogging. */
,並在其前新增以下內容(如下所示):
define( 'WP_DEBUG', true );
WP_DEBUG
如果上述程式碼已存在於 wp-config.php
檔案中,但設定為 “false”,只需將其更改為 “true” 即可。這將啟用除錯模式。注意:如果存在警告或錯誤,你也會在 WordPress 管理中看到它們。
然後,您可以在 WP_DEBUG 行後新增以下程式碼(如下所示),啟用除錯日誌,將所有錯誤傳送到一個檔案:
define( 'WP_DEBUG_LOG', true );
WP_DEBUG_LOG
儲存更改並重新上傳至伺服器。錯誤資訊將被記錄到 /wp-content/
資料夾中的 debug.log
檔案中。如果由於某種原因看不到該檔案,可以建立一個。
選項 4 – 使用 Kinsta API 檢視日誌
部分伺服器還提供專門的API工具以實現伺服器相關任務管理。比如 Kinsta API,就是一個功能強大的工具,可讓您以程式設計方式與 Kinsta 服務(如託管 WordPress 網站)進行互動。API 還有一個端點,您可以用它來獲取網站日誌。
要使用 Kinsta 的 API,您必須在 MyKinsta 中至少擁有一個 WordPress 網站、應用程式或資料庫賬戶。您還需要生成一個 API 金鑰來驗證和訪問您的賬戶。
獲得 API 金鑰後,要使用 API 訪問網站日誌,您需要指定網站環境 ID。您可以通過 get site environment 端點以程式設計方式獲取網站的環境 ID,該端點會返回網站環境的詳細資訊,包括其 ID:
{ "site": { "environments": [ { "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1", "name": "first-site", "display_name": "First site", "is_blocked": false, "id_edge_cache": "54fb80af-576c-4fdc-ba4f-b596c83f15a1", "cdn_cache_id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1", "is_premium": false, "domains": [ { "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1", "name": "example.com", "type": "live" } ], "primaryDomain": { "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1", "name": "example.com", "type": "live" }, "ssh_connection": { "ssh_port": "808080", "ssh_ip": { "external_ip": "1xx.1xx.1xx.1xx" } }, "container_info": { "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1", "php_engine_version": "php8.0" } } ] } }
獲得網站的環境 ID 後,就可以傳送 GET
請求到
https://api.kinsta.com/v2/sites/environments/{env_id}/logs?file_name=error&lines=100
該請求包括要獲取的日誌檔案(access
, error
, 或 kinsta-cache-perf
)以及要獲取的日誌行數:
curl -i -X GET \ 'https://api.kinsta.com/v2/sites/environments/{env_id}/logs?file_name=access&lines=100' \ -H 'Authorization: Bearer '
將返回一個字串,其中包含指定的日誌行數:
{ "environment": { "container_info": { "logs": "mysite.kinsta.cloud ::1 [07/Dec/2023:00:02:01 +0000] HEAD \"/wp-cron.php?server_triggered_cronjob\" HTTP/2.0 200 \"-\" \"curl/7.68.0\" - \"/wp-cron.php\" - - 230 0.017 0.018\nmysite.kinsta.cloud ::1 [07/Dec/2023:00:17:01 +0000] HEAD \"/wp-cron.php?server_triggered_cronjob\" HTTP/2.0 200 \"-\" \"curl/7.68.0\" - \"/wp-cron.php\" - - 230 0.139 0.139\nmysite.kinsta.cloud ::1 [07/Dec/2023:00:32:01 +0000] HEAD \"/wp-cron.php?server_triggered_cronjob\" HTTP/2.0 200 \"-\" \"curl/7.68.0\" - \"/wp-cron.php\" - - 230 0.016 0.016\nmysite.kinsta.cloud ::1 [07/Dec/2023:00:47:01 +0000] HEAD \"/wp-cron.php?server_triggered_cronjob\" HTTP/2.0 200 \"-\" \"curl/7.68.0\" - \"/wp-cron.php\" - - 230 0.015 0.015\n" } } }
然後就可以格式化輸出,用 n
換行符分隔每一行。例如,您可以使用 JavaScript 的 split()
方法:
const logsData = { "environment": { "container_info": { "logs": "string" } } }; const logsString = logsData.environment.container_info.logs; // Splitting the logs string into an array of log entries based on the newline character '\n' const logEntries = logsString.split('\n'); console.log(logEntries);
評論留言