建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

WordPress遇到PHP致命错误的解决办法Call to undefined function(为什么WORDPRESS网页顶部有空白)

GG网络技术分享 2025-03-18 16:14 0


WordPress遇到PHP致命错误的解决办法Call to undefined function

搬主题在进行站点维护WordPress站点的时候发现日志中经常出现一个错误:PHP Fatal error: Uncaught Error: Call to undefined function get_header().....等,也就是php的致命错误。直接翻译就是访问时得到调用未定义函数的错误。如何进行解决及修复呢?这里搬主题就给大家分享一下解决方案。

原文链接:WordPress遇到PHP致命错误的解决办法“PHP Fatal error: Uncaught Error: Call to undefined function get_header()” - 搬主题

什么是调用未定义函数错误?

这是一个直接针对主题的致命错误,也就是你安装了WordPress主题的话,他们会收到一个指向你的主题目录的URL。好吧,有很多方法可以获得这些信息。让我用一个例子来解释。大多数主题包括JavaScript文件、CSS和URL的链接。

垃圾爬虫或者黑客会向流行的WordPress主题文件如index.php或header.php发送请求。这样一来,请求文件就会将安全隐患泄露,这是一个主要的攻击。这也引发了调用未定义函数错误。比如很多时候一些黑客直接攻击你的wp-login.php文件,当然你实际也可以轻松地修复它。

换句话说,你可以说当一个用户请求header.php文件时,任何重要的函数如exc_url()都是不可用的,因为它是在WordPress之外。或者这种情况的发生是因为WordPress核心没有被加载,加载的是模板文件。

这可能是由于垃圾爬虫和取决于你的主题,它是如何编码的,这可能是由于不好的操作或脱离上下文执行的代码。

检查网站是否受到攻击?

首先,你需要检查你的网站是否有受到攻击。要检查这个错误,请看错误日志。比如说。发现的错误类似如下

[STDERR] PHP Fatal error: Uncaught Error: Call to undefined function get_header() in /www/www.banzhuti.com/wwwroot/wp-content/themes/qux/index.php:2

如果你的网站出现这种类型的错误,这意味着你的网站被垃圾爬虫或黑客盯上或攻击了。你可以看到很多类型的这类错误。在这个例子中,你可以看到index.php,404.php,和header.php。经过研究和从来源得到的评论,很多人在WordPress文件中看到这种错误,而不是例子。

  • 查看这些: /archive.php
  • /Wp-includes/rss-functions.php
  • ...各种主题模板文件
  • ...WP媒体库中的各种文件

从根本上说,从WordPress核心、插件或文件的直接访问会触发一个错误。为了解决这个问题,我们分享了解决调用未定义函数错误的方法,以提高你的主题的整体安全性。

问题出在哪里?

- 如果你试图登录到你的WordPress账户。
- 如果你已经更新了WordPress。
- 如果你收到这个信息;is_network_admin()错误信息或 "致命错误,未定义函数is_network_admin()"

如何修复调用未定义函数的致命错误?

解决这种类型的错误的一个最有效和最简单的方法是,如果WordPress不可用,就退出该脚本。这是一个有效的、众所周知的解决这个问题的技术。

换句话说,如果ABSPATH常数不是确定的,就退出脚本。ABSPATH在WordPress被加载时起作用。当垃圾爬虫来请求一个主题模板时,它就会给出一个空白页。

比如说:

<? php if (!defined (‘ABSPATH’) exit ;?>

你在WordPress会话期间看到过这样的代码。保护直接脚本访问的PHP安全是至关重要的。毕竟,你不需要网站上的爬虫/攻击者。

所以,要退出脚本,你需要按照给定的方式。

首先打开任何你自己的WordPress主题文件,然后在文件的顶部包括给定的一行。当你无法访问或退出脚本时,你会看到给定的代码。

<? php

if (!defined('ABSPATH')) exit;

get_header();

?>

如下效果

进阶保护

为了进一步发展,你可以通过限制目录视图来保护重要文件。让我们考虑一个例子:当你通过浏览器访问父目录时,你是否启用了目录视图。如果是的话,你会得到一个链接的文件列表,这不是好事。

要么你看到一个空白的屏幕,也许是一些其他的信息。你将需要保持你的文件安全。为了限制目录视图,你将需要创建第一个空文件index.php文件,以你想禁用的为准。

要禁止该代码,请这样做。

<!–?php // Silence is golden.</p>

<p>WordPress使用这种技术已经很长时间了,以防止黑客/攻击者。如果你在访问WordPress时遇到任何麻烦,你应该试试这个。</p>

最后总结

正如你所看到的,这里已经分享了一个简单而有效的方法来防止网页被攻击者/黑客攻击。在这个技术中,不用太专业的能力,如果你还是不清楚,那么添加一个合适的插件,以获得更好的安全性。

为什么WORDPRESS网页顶部有空白

最近用WORDPRESS做了一个网站——望星屋(http://wangxinwu.com),出了一点问题:就是网页的顶部总是有一片空白,我没有在CSS里面设置顶部空白啊,怎么回事呢?为什么WORDPRESS网页顶部有空白?

本来也没什么,但是想到可以对搜索引擎不太友好,也让浏览者不喜欢,于是决定解决,在百度里搜索了一下,有人说要修改所有模板的编码为utf-8无bom格式,因为php在处理BOM头的时候,有时候存在错误,可能造成你在使用 header 或 session_start 之类的函数时,出现文件已经输出的错误等。但是修改完之后问题依然存在。

终于无意中在一个网站的博客里看到了一个解决办法,不看不知道,一看吓一跳,居然这么简单。之所以出现这种空白情况,是因为WP自身后台里面的一个小设置造成的。我们只要改一下这个设置就可以了。我试了一下,问题还真的解决了。

通过控制台按用户进行设定,操作步骤为:登录WP后台,进入【用户】–【我的个人资料】,在显示管理工具栏里面,取消【在浏览站点时显示工具栏】选项。这样就可以解决顶部空白问题了。是不是非常简单。因为自己碰到了这个问题,所以记录下来,同时,也希望对以后也碰到这种问题的朋友有所帮助。

标签:

提交需求或反馈

Demand feedback