如何修復“無法修改標頭信息 - 標頭已發送”錯誤

已發表: 2021-11-26

大多數 WordPress 錯誤消息讓您了解導致您網站問題的原因。 “警告:無法修改標頭信息 - 標頭已發送”錯誤也不例外。 如果 PHP 文件由於其代碼中的問題而無法執行,您將遇到此消息。

“無法修改標頭信息”錯誤有幾個潛在原因。 幸運的是,消息本身會告訴您是哪個文件導致了問題。 它甚至指向包含問題的代碼行。

在本文中,我們將討論此錯誤及其原因。 然後,我們將介紹兩種解決問題的方法。 讓我們開始工作吧!

什麼導致“無法修改標頭信息 - 標頭已發送”錯誤

正如我們之前提到的,當您的站點的一個.php文件無法執行時,您會遇到此錯誤。 WordPress 的核心功能依賴於 .php 文件,例如 wp-config.php 和 functions.php。

如果您的網站需要加載的其中一個.php文件存在問題,您將看到如下所示的錯誤消息:

 Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-config.php:#) in /home/public_html/wp-includes/file-example.php on line 33

幸運的是,“無法修改標頭信息”錯誤提供了大量信息,使故障排除相對簡單。 該消息會將您指向兩個文件——第一個文件包含問題,這會阻止第二個文件執行。

在錯誤消息的末尾,您會看到“第 XX 行”部分。 它顯示了導致問題的特定代碼的位置。

通常,PHP 代碼中的問題很容易修復。 可能觸發錯誤消息的一些常見原因包括:

  • <?php代碼段之前或結束?>標記之後的空格
  • PHP 標頭函數之前的 HTML 塊
  • 在 PHP 標頭函數之前添加printecho語句
  • 插件代碼的問題

修復這些類型的錯誤要求您至少對修改 PHP 代碼有一定的把握。 您無需自己添加任何代碼。

不過,您可能需要一些額外的幫助來識別問題。 如果問題與 PHP 標頭函數之前的空格或語句無關,則尤其如此。

看到此錯誤消息的一線希望 - 您已經知道導致問題的文件以及問題的代碼行! 在此處了解如何修復它點擊鳴叫

如何解決“警告:無法修改標頭信息 - 標頭已發送”錯誤(2 種方法)

有兩種方法可以解決“無法修改標頭信息 - 標頭已發送”錯誤。 第一種方法不需要您退出 WordPress 儀表板。

但是,如果您無法訪問儀表板或使用 WordPress,則第二種策略使用 FTP/SFTP。

讓我們從第一種故障排除方法開始。

1.使用插件/主題編輯器修復錯誤或更換插件

當您遇到“無法修改標頭信息 - 標頭已發送”錯誤時,您需要做的第一件事是打開導致問題的文件。 然後,找到消息指示的行。

例如,如果您看到如下內容的錯誤,則意味著您需要查看主題的functions.php文件:

 Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-content/themes/twentytwentyone/functions.php:#) in /home/public_html/wp-includes/file-example.php on line 1

在這種情況下,您可以使用 WordPress 主題編輯器找到問題的根源。 要訪問它,請轉到外觀>主題編輯器

進入後,使用右側的菜單選擇您需要訪問的文件。

主題編輯器中的主題函數 (functions.php)
主題函數文件 (functions.php)。

如果您仔細觀察,您會注意到<?php標記之前有幾個空格。 錯誤消息本身指向第一行。 因此,這告訴您空格是問題的根源。

在此示例中,您所要做的就是刪除空格並單擊Update File 。 現在嘗試重新加載您的網站,錯誤應該消失了。

您可以使用 WordPress 插件編輯器(插件>插件編輯器)應用相同的過程。 如果錯誤消息指向錯誤的插件文件,則此方法適用。

或者,您可能會遇到指示 WordPress 插件目錄中的文件之一的錯誤。 在這種情況下,您可以刪除並重新安裝該插件。 在大多數情況下,這將為您解決問題。

但是,請記住,您可能會丟失該插件的配置,具體取決於您使用的工具。 因此,您可能需要重新設置插件。

2. 通過 FTP/SFTP 編輯問題文件

在某些情況下,“無法修改標頭信息 - 標頭已發送”錯誤的來源不會位於您可以使用 WordPress 主題或插件編輯器訪問的文件中。 或者,您可能正在使用非 WordPress 網站。

在這些情況下,您最好的選擇是使用 FTP/SFTP 訪問問題文件。 為此,您需要使用 FTP 或 SFTP 客戶端,例如 FileZilla 平台。

您還需要訪問您網站的 FTP/SFTP 憑據。 在大多數情況下,您應該能夠在託管面板中找到它們。

需要為您的電子商務網站提供快速、可靠且完全安全的託管服務? Kinsta 提供所有這些以及來自 WooCommerce 專家的 24/7 世界級支持。 查看我們的計劃

如果您使用 Kinsta,您可以訪問 MyKinsta,在站點下選擇您的網站,然後單擊其信息選項卡。

MyKinsta 中的 SFTP/SSH
MyKinsta 中的 SFTP/SSH。

獲得憑據後,使用 FTP 或 SFTP 客戶端連接到您的網站。 您需要找到該站點的文件夾。 通常,它的名稱應該是root、public_htmlpublic或您自己站點的名稱。

以下是 WordPress文件夾內部的快速瀏覽。

查看 WordPress 根文件夾
WordPress 根文件夾。

繼續並找到“無法修改標頭信息 - 標頭已發送”錯誤指示的文件。 例如,如果問題是public/wp-config.php ,右鍵單擊文件並選擇查看/編輯選項。

在根文件夾中找到 wp.config 文件
單擊 wp.config 文件。

該選項將使用您的默認文本編輯器打開選定的文件。 打開文檔後,通過導航到錯誤消息指向您的行來定位問題。

導航到錯誤消息所在的行
查找帶有錯誤消息的行。

如果您無法發現錯誤,您可能需要諮詢具有處理 PHP 文件經驗的人。 但是,假設您正在處理 PHP 標頭之前的空白問題或語句。 在這種情況下,您應該能夠自己解決問題。

完成後,保存對文件的更改並關閉 FTP/SFTP 客戶端。 嘗試重新訪問您的網站,錯誤應該消失了。

看到此錯誤消息? 這篇文章有 2 種有保證的方法來修復它點擊鳴叫

概括

“警告:無法修改標頭信息 - 標頭已發送”錯誤可能會令人生畏,因為它會輸出長消息。 但是,該詳細的錯誤消息使該錯誤的故障排除相對簡單。 與其他問題不同,這個問題足夠禮貌地告訴您是哪個文件導致它以及您需要查看哪一行代碼。

根據導致錯誤的文件,您可以通過兩種方法對其進行故障排除:

  1. 使用插件/主題編輯器修復錯誤或更換插件。
  2. 通過 FTP/SFTP 客戶端編輯問題文件。

查找此錯誤的根源很簡單。 但是,如果您不熟悉 PHP,修復它可能是個問題。

修復此錯誤時仍有問題? 請在下面的評論中與我們的社區分享您的經驗!