WordPress遇到PHP致命错误的解决办法“PHP Fatal error: Uncaught Error: Call to undefined function get_header()”
搬主题在进行站点维护WordPress站点的时候发现日志中经常出现一个错误:PHP Fatal error: …
搬主题在进行站点维护WordPress站点的时候发现日志中经常出现一个错误:PHP Fatal error: Uncaught Error: Call to undefined function get_header()…..等,也就是php的致命错误。直接翻译就是访问时得到调用未定义函数的错误。如何进行解决及修复呢?这里搬主题就给大家分享一下解决方案。
什么是调用未定义函数错误?
这是一个直接针对主题的致命错误,也就是你安装了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>
最后总结
正如你所看到的,这里已经分享了一个简单而有效的方法来防止网页被攻击者/黑客攻击。在这个技术中,不用太专业的能力,如果你还是不清楚,那么添加一个合适的插件,以获得更好的安全性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!