WordPress显示Parse Error: Syntax Error, Unexpected错误的修复办法

如果你曾经更新过一个插件或将代码粘贴到你的WordPress网站上,你有可能看到过WordPress显示Par…

IMG_0

如果你曾经更新过一个插件或将代码粘贴到你的WordPress网站上,你有可能看到过WordPress显示Parse Error: Syntax Error, Unexpected,意思就是解析错误语法错误意外结束的信息。这是一个常见的错误,因为它只需要一个字符就可以引起错误。在这篇文章中,搬主题会介绍导致这个错误的原因,并看看如何修复它。

一、Syntax Error, Unexpected End in WordPress是什么意思?

WordPress中的解析错误语法错误意外结束可能是最简单的错误,但仍然会引起大问题。这个错误有两个部分:

语法错误–这个错误是由PHP结构中的错误引起的,当缺少或增加了一个不应该有的字符。

缺少–这意味着代码中缺少一个字符,PHP到达文件的末尾却没有找到它要找的东西。该错误将在结尾处包含信息,解释它看到了什么是意外的。

如果看到 Parse Error: Syntax Error, Unexpected end in WordPress, 它只是意味着WordPress检测到代码中缺少或增加了一些东西。它可以是一些简单的东西,如逗号、分号、结尾的小括号,或一个太多的括号。缺少的语法可能是在你写的或粘贴到你的网站的代码中,或者在你安装或更新的主题或插件中。

幸运的是,找到并解决这个问题并不难。然而,你将需要了解代码的工作原理和如何编辑它。

二、如何修复它

IMG_0

在WordPress中,实际的解析错误语法错误意外的结尾会有不同的结局,这取决于导致错误的原因。

例子包括:

  • 1) syntax error, unexpected end of file
  • 2) syntax error, unexpected token
  • 3) syntax error, unexpected variable
  • 4) syntax error, unexpected identifier

错误信息通常会指出它不喜欢的特定标记、变量、标识符等。我们将看到一些这样的例子。

三、测试错误

WordPress在如何处理代码方面做了很多改进。现在,如果它有一个以前运行的代码版本,而不是运行坏的代码并杀死你的网站,在向访问者显示网站时,它将尝试使用该代码来代替。这使你的网站不会向你的访客显示错误,并使你不会被锁定。你的网站仍然有可能出现故障并锁定你,但现在更难了。

此外,代码编辑器现在显示标记,所以很容易识别变量和其他代码元素。这使得在WordPress的插件和主题代码编辑器中测试代码变得更加容易。

不幸的是,WordPress并不总是给你一个明确的信息。有时没有消息,内容丢失,或者只是不显示网站。所有这些都可以修复,但它们可能需要更多的故障排除。

让我们看看几个例子:

1、编辑插件代码

IMG_0

首先,从你最后做的事情开始。在这个例子中,我在一个插件文件中编辑了代码。该文件恢复到了最后已知的好代码,所以我的修改没有发挥作用。看一下这个错误。它将告诉你是什么导致了错误代码,以及有错误的那一行代码。

在这个例子中,WordPress看到的是一个意外的括号,而它期望看到的是一个分号。

这个问题很简单。首先,看看它上面的那一行。我们看到了break这个词,结束了case 4。我们很幸运,因为我们有其他情况可以比较。上面是案例3,也是以break结尾,但这个案例有一个结尾分号。

IMG_0

接下来,编辑导致错误的代码。

IMG_0

这里是同一个插件文件中的另一个例子。这个例子在第488行显示了错误。然而,那行代码是正确的。不过,它给了我一个线索。它将此识别为一个意外的变量。

IMG_0

如果我们看一下488上面的代码,我们会发现它缺少一个结尾的括号。这导致WordPress看到的下一行是不正确的。

IMG_0

只需添加闭合括号并更新文件。现在代码可以正常工作了。

这些问题很简单,但大多数时候你在WordPress中看到解析错误语法错误意外结束,它和这些例子完全一样。

四、当你找不到错误的时候如何修复解析错误

有两种方法可以找到解析错误,如果它没有为你显示或者你不确定它来自哪里。下面我们来看看这两种方法。

1、调试模式

第一步是启用WordPress的错误日志。使用FTP或cPanel进入你的wp-config文件。搜索看起来像这样的一行代码:

define( 'WP_DEBUG', false );

如果你有这行代码,把false改为true。如果你没有这行代码,找一行写着”停止编辑! Happy blogging”然后粘贴这段代码。

define( 'WP_DEBUG', true );

重新加载该网站。这将显示错误,你现在有一个地方可以开始排除故障。

2、调试插件

IMG_0

Query Monitor是最流行的调试插件之一。它提供了一些工具,你可以从前台和后台的顶部菜单栏和叠加的方式访问。

IMG_0

这将启用几个调试工具,包括一个错误日志,在那里你可以找到你需要的信息。

五、如果你被锁定在WordPress之外修复解析错误

IMG_0

如果你被锁定在管理仪表板之外,你将需要用另一种方式进行修改。你需要从服务器上下载包含错误的文件,并在代码编辑器中打开它来进行编辑。

在我的例子中,我正在对Twenty Twenty One主题的functions.php文件进行修改。我在语法上犯了一个错误,我的网站就瘫痪了。它所显示的是这个错误,没有任何帮助。

IMG_0

最好的选择是使用FTP或你的主机的cPanel。在这个例子中我将使用cPanel,但过程是一样的。首先,在cPanel中打开文件管理器。

IMG_0

接下来,打开你正在工作的网站的文件夹。如果它是主要网站,你可能会看到一个地球图标。否则,打开带有网站名称的文件夹。

IMG_0

导航到wp-content文件夹。

IMG_0

导航到你想编辑的主题或插件的文件夹。在这种情况下,我正在编辑一个主题。

IMG_0

选择主题或插件的文件夹。我选择的是Twenty Twenty One主题的文件夹。

IMG_0

Next, go to the file you were editing when the problem occurred. I was editing the functions.php file. Either download the file to work offline or edit the file. I recommend downloading a backup before making changes.

IMG_0

你的代码编辑器可能提供有关错误的信息。在我的例子中,它显示它在第29行期待一个小括号。实际上,它在第17行缺少一个括号,这导致编辑器认为它需要一个小括号。

IMG_0

添加括号后,错误就消失了。我现在可以上传我的新文件来替换当前的文件,或者如果我使用在线编辑器,则可以保存它。

IMG_0

测试网站现在工作正常了。

六、恢复以前的文件

IMG_0

如果你不确定代码中发生了什么变化,而你想恢复一个你知道的以前的文件,在FTP或cPanel中进入该文件。

有时WordPress不告诉你问题来自哪里。在这种情况下,你可以一个一个地重命名文件夹,看看问题是否会消失。从你的插件开始。

如果你确实知道问题来自哪里,你可以上传一个替换文件。对于WordPress资源库中的插件或主题,你可以删除该文件夹并重新安装。

如果你愿意,你可以从WordPress仓库(或你得到它的地方)下载主题或插件,解压缩文件,然后只替换你需要的文件。它的工作方式与我们在下一节中替换WordPress的方式类似。

上传一个全新的WordPress安装包

IMG_0

如果问题出在WordPress的核心部分,你可以上传一个新版本的WordPress,而不用删除你的文件。下载一个新的WordPress副本并解压。

IMG_0

接下来,删除wp-content文件夹和名为wp-config-sample.php的文件。

IMG_0

接下来,把解压后的WordPress文件上传到你的WordPress根目录下。这将覆盖所有的文件,除了你删除的那两个。你的网站现在应该工作了。

七、关于WordPress中解析错误语法错误意外结束的思考

WordPress中的解析错误语法错误意外结束是WordPress使用过程中的一个常见错误,它并不难解决,但有时需要花时间去追踪它。步骤很简单:

  • 如果你已经添加了代码,从那里开始。
  • 如果你安装了一个插件或主题,停用它。
  • 当你找不到问题时,替换可疑的文件。
  • 当所有其他方法都失败时,还原一个备份。

遵循一些故障排除步骤将有助于使你的网站尽可能快地顺利运行。

类别:WordPress 进阶教程

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册