今天本来说要测试一个新网站的,结果发现打开之后提示Fatal error:Call to undefined function get_header() in 错误了,下面我就给大家整理此问题解决办法.
效果就成这样了:Fatal error: Call to undefined function get_header() in /home/wwwfulis/public_html/index.php on line 1;
在wordpress中这个应该算是比较正常的情况,因为基本都是调用模板函数,简单翻译一下就是get_header()这个函数没有定义.
到网站查询了很多资料都没有显示有效的结果,没办法只好根据他们提供的信息综合分析一下,最后发现这个问题导致的原因有如下的几种.
1.检查这个函数是否是拼写错误 在php里,内置有get_headers() 函数,但是在xammp上面能够调制,为什么在这上面就不能调试了呢,该函数的功用是:返回一个数组,包含有服务器响应一个 HTTP 请求所发送的标头,如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息.
2.检查是否在其它地方定义了这个函数.
如果自己有设置主机php.ini的权限,不操心log的话,可以修改如下,就不会有错误提示了,代码如下:
display_errors = off
error_reporting=E_ALL&~E_NOTICE
因为没有权限懂php.ini,于是,我在index.php中添加不显示运行错误,代码如下:
<?php ini_set('display_errors', 0); ?>
这样以后就没有了错误提示,可是error-log中依旧记录着该错误,如何不记录这个错误呢?如果直接加载index.php且没有定义get_header()这个函数,就直接重定向到网站首页,所以一个简单地判断就可以搞定了,代码如下:
- <?php ini_set('display_errors', 0); ?>
- <?php
-
-
-
-
-
-
- if (function_exists('get_header')) {
- get_header();
- }else{
- header("Location: http://" . $_SERVER['HTTP_HOST'] . "");
- exit;
- }; ?>
Ok,这样如果直接访问index.php就被重定向到了首页. |