- 错误类型:
- WP内部错误
- 错误名称:
- 无法修改标头信息
- 英文名称:
- Cannot modify header information
- 错误描述:
- 当您站点的.php文件之一无法执行时,您将遇到此错误。
大多数WordPress错误消息让您了解是什么导致了您的网站出现问题。“警告:无法修改标头信息 – 标头已经发送( Warning: cannot modify header information – headers already sent by”)”错误也不例外。如果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
代码段之前或?>
结束标记之后的空格- 一个HTML块之前的PHP标头函数
print
或echo
在PHP标头函数之前添加的语句- 插件代码的问题
修复这些类型的错误要求您至少对修改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)
如果仔细观察,您会注意到<?php
标签前有几个空格。错误消息本身指向第一行。因此,这告诉您空格是问题的根源。
在此示例中,您所要做的就是删除空格并单击Update File。现在尝试重新加载您的网站,错误应该消失了。
您可以使用WordPress插件编辑器(插件 >插件编辑器)应用相同的过程。如果错误消息指向错误的插件文件,则此方法适用。
或者,您可能会遇到指示WordPress插件目录中的文件之一的错误。在这种情况下,您可以删除并重新安装该插件。在大多数情况下,这将为您解决问题。
但是,请记住,您可能会丢失该插件的配置,具体取决于您使用的工具。因此,您可能需要再次设置加载项。
2. 通过FTP/SFTP编辑问题文件
在某些情况下,“无法修改标头信息 – 标头已经发送”错误的来源不会存在于您可以使用WordPress主题或插件编辑器访问的文件中。或者,您可能正在使用非WordPress网站。
在这些情况下,最好的选择是使用FTP/SFTP访问问题文件。为此,您需要使用FTP或SFTP客户端, 例如FileZilla。
您还需要访问您网站的FTP/SFTP凭据。在大多数情况下,您应该能够在您的主机面板中找到它们。
获得凭据后,使用FTP或SFTP客户端连接到您的网站。您需要找到站点的根文件夹。通常,它的名称应该是root、public_html、public或您自己站点的名称。
这是一个快速浏览WordPress根文件夹内部的样子。
WordPress根文件夹
继续并找到“无法修改标头信息 – 标头已经发送”错误指示的文件。例如,如果问题是public/wp-config.php,请右键单击文件并选择查看/编辑选项。
编辑wp.config文件
该选项将使用您的默认文本编辑器打开所选文件。打开文档后,通过导航到错误消息指向的行来定位问题。
查找包含错误消息的行
如果您无法发现错误,您可能需要咨询有处理 PHP 文件经验的人。但是,假设您正在处理空白问题或PHP标头之前的语句。在这种情况下,您应该能够自己解决问题。
完成后,保存对文件的更改并关闭FTP/SFTP客户端。尝试重新访问您的网站,错误应该消失了。
小结
“警告:无法修改标头信息 – 标头已经发送”错误可能令人生畏,因为它输出了一条长消息。但是,该详细的错误消息使此错误的故障排除相对简单。与其他问题不同,这个问题足够礼貌,可以告诉您是哪个文件引起的,以及您需要查看哪一行代码。
根据导致错误的文件,您可以通过两种方式对其进行故障排除:
- 使用插件/主题编辑器修复错误或更换插件。
- 通过FTP/SFTP客户端编辑问题文件。
查找此错误的来源很简单。但是,如果您不熟悉PHP,修复它可能是一个问题。
评论留言