如何修复 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 告知我们。