如何修復 WordPress 中的“解析錯誤:語法錯誤,意外”

已發表: 2023-12-06

使用 WordPress 在網路上建立自己的空間是令人興奮的,但有時,一個名為「解析錯誤:語法錯誤,意外」的小問題可能會給工作帶來麻煩。

發生此錯誤的原因有很多,從程式碼中的簡單拼字錯誤到主題或外掛程式中更複雜的問題。

但不要害怕!

在這篇文章中,我們將幫助您解決此錯誤並使您的網站恢復最佳狀態。

你準備好了嗎? 讓我們開始吧。

目錄

  1. WordPress 中的「解析錯誤:語法錯誤,意外」錯誤是什麼?
  2. WordPress「解析錯誤:語法錯誤,意外」的常見原因
  3. 如何修復 WordPress 中的“解析錯誤:語法錯誤,意外”
    • 啟用調試模式
    • 編輯程式碼
    • 停用外掛和主題
  4. 防止 WordPress 中解析錯誤的提示
  5. 結論

1 WordPress 中的「解析錯誤:語法錯誤,意外」錯誤是什麼?

「解析錯誤:語法錯誤,意外」是當 WordPress 在 PHP 程式碼中遇到意外或無效元素時發生的錯誤,導致其無法成功解釋和執行指令。

您網站的功能依賴於用程式語言編寫的指令 - 在本例中為 PHP,廣泛用於 WordPress 主題和外掛程式。 當 PHP 解譯器遇到一個它無法理解的命令或期望的內容與所寫的內容不同時,它會拋出「解析錯誤」。

訊息的“語法錯誤”部分意味著程式碼結構中出現了問題。 把它想像成一種語言誤解; 你的指令沒有以電腦理解的方式傳達,而且它會變得混亂。

「意外」元素指出這樣一個事實:在程式碼中的某個位置,存在解釋器在該特定點沒有預料到的指令或字元。 這可能是缺少分號、輸入錯誤的函數或偏離解釋器預期的額外括號。

當 WordPress 解析 PHP 程式碼時,它會尋找特定的語法規則和結構,以確保其有效並可以正確執行。

這裡有些例子:

  • 文法錯誤,意外的文件結尾
  • 文法錯誤,意外的標記
  • 語法錯誤,意外變數
  • 語法錯誤,意外的標識符

現在您已經了解了這個解析錯誤,讓我們討論一下它的原因。

WordPress 中「解析錯誤:語法錯誤,意外」的2 個常見原因

解析語法錯誤

解析錯誤本身不會出現在您的網站上; 相反,這是您網站程式碼上發生錯誤的結果,例如:

  1. 未閉合的引號或括號:未能閉合引號或括號可能會使 PHP 解析器感到困惑。
  2. 缺少字元:缺少字元(例如分號、引號或括號)可能會導致 WordPress 錯誤解釋程式碼並觸發錯誤。
  3. 不正確的語法:使用不正確的語法,例如使用錯誤的關鍵字或將語句放在錯誤的位置,也可能導致錯誤。
  4. 不相容的程式碼:不相容的程式碼(例如為舊版的 PHP 編寫的程式碼)也可能會觸發該錯誤。
  5. 檔案損壞或修改:如果 WordPress 核心檔案或外掛程式/主題檔案意外損壞或修改,則可能會引入語法錯誤。

當您在 WordPress 外掛程式或主題文件編輯器中錯誤地編輯程式碼時,通常會出現此錯誤。

主題文件錯誤

在上面的例子中,由於缺少分號而發生解析錯誤。 將缺少的分號加到上述行將成功解決該問題。

文件已更新

同樣,如果遇到“未閉合”錯誤,後面跟著特定字元和行號,請檢查程式碼是否缺少花括號。 在下面的範例中,缺少匹配的右大括號。

缺少支架

注意:要在WordPress 檔案編輯器中編輯程式碼時修復錯誤,只需按一下檔案中的任何位置,使用「Ctrl + Z」(Windows) 或「Command + Z」(Mac) 撤銷最近的更改,然後單擊“更新”檔案”。

即使您不這樣做,WordPress 仍然不會儲存更改,直到程式碼正確為止。

因此,您仍然可以刷新頁面以撤消先前的更改,這將立即解決問題。

解析錯誤並不難糾正,但您必須了解程式碼的工作原理以及如何編輯它。

但是,如果您沒有任何編碼知識,我們將向您展示一個解決此問題的好方法。

如果您被鎖定在 WordPress 儀表板之外,我們將討論如何解決此問題。

3如何修復 WordPress 中的“解析錯誤:語法錯誤,意外”

大多數時候,當這個解析錯誤正式發生時,它肯定會將您鎖定在 WordPress 儀表板之外。

但如果它沒有將您鎖定在 WordPress 儀表板之外,您可以嘗試還原網站先前的備份。

或者,如果您最近對程式碼進行了更改,請檢查您所做的更改。 該錯誤可能是由您在程式碼中犯下的錯誤引起的。

仔細檢查程式碼時,請尋找 PHP 中缺少或不匹配的圓括號或方括號,或者可能是一些分號。

您也可以下載程式碼並將其貼到任何 PHP 語法檢查器或編輯器中,以確定錯誤發生的位置。

如果您無法執行其中任何操作,或者它們不起作用,請繼續執行以下步驟以快速解決此錯誤。

3.1啟用調試模式

WP 偵錯模式是一種診斷工具,可協助您識別和偵錯 WordPress 網站中的錯誤。

通常,當 WordPress 將您鎖定在管理儀表板之外時,您會看到一個空白頁面,其中包含類似以下內容的訊息:

WordPress 中的嚴重錯誤

透過此訊息,您將無法確定此「嚴重錯誤」的實際原因,因為有幾個問題可能會在 WordPress 中觸發此訊息。

啟用 WP 偵錯模式時,它將顯示 PHP 錯誤訊息、原因以及錯誤來源的方向。

您可以透過 cPanel 或 WordPress 外掛程式啟用偵錯。 如果您可以登入 WordPress 儀表板,則可以使用外掛程式來啟用偵錯模式。

但現在,我們將使用託管或 cPanel 方法。 因此,請登入您的 cPanel 或 DirectAdmin。

因此,選擇檔案總管並導覽至結果頁面上的public_html

cPanel 中的檔案管理器

接下來,向下捲動並尋找wp-config.php檔案。

導航到 wp-config.php 文件

當您看到它時,將滑鼠懸停在其上,右鍵單擊,然後選擇“編輯”

編輯 wp-config.php 文件

點擊「編輯」後,您將被重新導向到可以啟用偵錯模式的頁面。 向下捲動到底部。

仔細看看「 /* 就這樣,停止編輯! 快樂出版。 */“部分。 您應該會看到“define( 'WP_DEBUG', false );” 如下圖所示。

更改調試模式

請將false替換為true並儲存更改,如下所示。

將調試模式設為 true

如果您在那裡沒有看到偵錯程式碼,您應該將下面的程式碼複製並貼上到該區域。

 define('WP_DEBUG', true);

儲存變更後,重新載入您的 WordPress 網站。

您會注意到,它將再次顯示嚴重錯誤,並為您提供有關影響您網站的錯誤的詳細資訊。

解析錯誤

仔細查看上圖中顯示的錯誤,特別是第一行。 您可以在此處找到有關錯誤的主要資訊。

為了方便起見,也提供了文件中發生錯誤的行。 我們將從該位置解決錯誤。

3.2編輯程式碼

我們將使用上圖中指定的位置來解決該問題。 位置是/home/sitefolder/public_html/wp-content/plugins/litespeed-cache/litespeed-cache.php 第 140 行。

但是,該錯誤可能與主題而不是插件相關,具體取決於提供的解析錯誤。

遵循解析錯誤提供的指示至關重要。 在提供的範例錯誤中,錯誤訊息將特定外掛程式標識為問題根源。

因此,使用 FTP 或託管面板連接到您的網站並導航到public_html頁面,選擇wp-content ,然後選擇plugins ,如下所示。

導航到插件部分

確保選擇解析錯誤指示的插件。

選擇插件

如果您選擇外掛程式或主題,它會將您重新導向到與外掛程式或主題相關的檔案的位置。

若要下載插件文件,請右鍵單擊該文件,然後按一下「下載」 ,下載後,選擇「編輯」

下載插件文件

保留插件檔案的備份對於防止直接在檔案程式碼上犯錯至關重要,並且還允許使用專用程式碼編輯器進行單獨的程式碼編輯。

點擊“編輯”後,您將需要找到解析錯誤指示的特定行。

在我們的範例中,它指定“第 140 行”。 因此,您應該向下捲動到第 140 行以識別並解決錯誤。

找到錯誤所在

在上圖中,請注意第 140 行旁邊的紅色時間圖示。將滑鼠懸停在該圖示上可以看到訊息“語法錯誤,意外的 '}',需要 ';'。”

檢查後,您會注意到錯誤訊息指出需要“;”

若要解決該錯誤,請在正確位置的「true)」字串後面加上分號。

若要解決此問題,請在「true)」後面的正確位置新增分號,然後按一下「儲存變更」按鈕。

錯誤已更正

因此,儲存變更後,返回 WordPress 網站並重新載入頁面。

您會注意到您的頁面將開始正確載入。

網站載入正確

因此,一旦錯誤修復並且您的網站頁面開始正確載入。 請返回您的wp-config.php檔案並將true設定更改為false ,或複製並貼上此程式碼,如下所示。

 define('WP_DEBUG', false);
將調試模式設定為 false

將此 WP_DEBUG 更改為 false 至關重要,因為它可以幫助防止網站上敏感資訊的洩露,從而導致安全風險。 它還可能會降低您網站的效能。

如果您無法遵循本文提供的解決方案指南,可能是因為您不是程式設計師或缺乏編碼知識,您應該嘗試最後一種方法。

3.3停用外掛和主題

請記住,只有當以前的方法不適合您或您無法執行此操作時,才應使用此方法。

但是,在嘗試此方法之前,我們建議啟用偵錯模式(如本節第一個方法所示),以識別導致此錯誤的確切外掛程式或主題。

如果您仍然可以存取 WordPress 儀表板,您應該一一停用您的插件,以確定是哪個插件導致了問題。

但是,如果您被鎖定在 WordPress 儀表板之外並且無法存取外掛部分,則必須從檔案總管停用偵測到的外掛程式或主題。

因此,當您仍在檔案總管上時,導覽至public_html → wp-content → 外掛程式部分,如下所示。

導航到插件部分

如果錯誤表明主題導致問題,您只能選擇主題選項 插件選項下方。

我們將堅持使用外掛選項,但您可以參考我們關於停用 WordPress 主題的指南來停用您網站上的主題。

因此,從外掛程式頁面中,您必須向下捲動才能找到導致問題的解析錯誤中提到的外掛程式。

當您看到該插件時,請右鍵單擊它並單擊“重新命名”選項如下所示。

重新命名插件

現在系統會要求您輸入新的檔案名稱。 您可以將“-old”新增至插件名稱中,如下所示。

重新命名插件

完成後,按一下“重新命名”按鈕。

現在,返回您的網站並刷新頁面。 您會注意到您的網站將開始正常運作。

防止 WordPress 中解析錯誤的4 個技巧

這些技巧很簡單,但一些網站所有者發現它們很難實施。 我們都知道這些技巧,但由於某種原因,我們可能會忘記有效地使用它們。

我們只會回顧一些預防措施,以幫助您避免將來出現「解析錯誤:語法錯誤,意外」錯誤。

  1. 讓您的外掛程式和主題保持最新:這將有助於確保它們與最新版本的 WordPress 相容,並且不包含任何可能導致錯誤的錯誤。
  1. 從可信任來源安裝插件:僅從信譽良好的來源安裝插件,以最大限度地降低安裝包含不相容程式碼的插件的風險。
  1. 徹底測試程式碼變更:在部署程式碼變更之前,請在暫存環境中對其進行徹底測試,以識別並修復任何潛在問題。
  1. 利用程式碼檢查器和驗證器:使用程式碼檢查器和驗證器來偵測潛在的語法錯誤並確保程式碼遵循最佳實務。
  1. 定期備份您的網站:定期備份您的 WordPress 網站,以便在容易出現問題時將其還原為工作狀態。

透過遵循這些預防提示,我們希望您的網站不會出現解析錯誤。 但是,如果您稍後遇到錯誤,則可能是由於忽略了前面提到的一些提示。

在這種情況下,我們建議嘗試本文中概述的故障排除步驟來解決問題。

5結論

編寫程式碼可能很脆弱,這意味著任何錯誤都可能導致重大問題。

這也適用於編輯 WordPress 主題或外掛程式檔案。 如果您不是程式設計師,我們建議您聘請專業人士

如果您擅長編碼,請避免直接在外掛程式或主題文件編輯器中進行編輯。 相反,下載程式碼檔案並使用配備程式碼驗證器的整合開發環境 (IDE)。 這使您能夠快速找到並修復任何程式碼錯誤。

然後,在將程式碼上傳到您的網站之前,在暫存網站上測試程式碼。 請務必備份您的網站,以便在發生 Parse 錯誤時可以輕鬆恢復先前的備份。

我們希望您能夠使用本文中提到的方法來修復您在網站上遇到的解析錯誤。

如果是這樣,請透過推文@rankmathseo 告知我們。