首页 > wordpress > Philna2 本地wordpress首页空白,后台正常的解决办法
2009十一月27

Philna2 本地wordpress首页空白,后台正常的解决办法

因为下午在看那个搜索中文乱码的问题,就顺便把线上的内容搬到本地来当测试环境了。可是却惊奇的发现我在本地无法打开wordpress,只有一个空白页。但是意外的是后台一切正常。

和网上其他的原因不同。因为我还没有装插件,也默认皮肤也没有问题。所以我怀疑是Philna2皮肤本身的问题。

现象调查:

用var_dump函数一点点的跟着程序走,发现在basic_template.php里面get_header();就出现了问题。在该语句前打印的东西可以出来,而在其后的代码是出不来的。看来问题就出在这个get_header()方法里。

曲折取证:

于是用全文搜索工具来查这个函数的定义位置,原来其是wordpress自带的。其定义位置是:wordpress\wp-includes\general-template.php

让我们来看一下函数定义:

function get_header( $name = null ) {
    do_action( 'get_header', $name );

    $templates = array();
    if ( isset($name) )
        $templates[] = "header-{$name}.php";

    $templates[] = "header.php";

    if ('' == locate_template($templates, true))
        load_template( get_theme_root() . '/default/header.php');
}

仔细观察,简单的分析了一平,也就是说其是取各个皮肤的header.php文件,如果那个文件不存在呢,则取默认皮肤的header.php。(貌似这是个意思,因为locate_template()方法我没有继续跟下去)~~

找到原因:

在philna2\header.php里第一句就是include_once BASIC_HEADER;所以我们要找根本原因,也就是说是wordpress\wp-content\themes\philna2\templates\basic_header.php出了问题。

找到原因就好办了,我们继续往下跟,这样才是治标,治本。

if ( extension_loaded('zlib') and !ini_get('zlib.output_compression') and ini_get('output_handler') != 'ob_gzhandler' and ((version_compare(phpversion(), '5.0', '>=') and ob_get_length() == false) or ob_get_length() === false) ) {
    ob_start('ob_gzhandler');
}else{
    ob_start();
}

这里面会去检查我有没有激活php的zlib扩展,可能刚巧我的扩展有问题吧,于是发生了问题,用httpwatch可以看到错误原因大概是压缩的方式未知。这就好办了。让我们仔细点看。

其在or语句前面一点点,有一个ob_get_length() == false 这里引起了我的注意,为啥这里判断是两个等号呢?在其前我var_dump(ob_get_length());返回的是int(0),这里0其实是不等于false的。但是用了==就出了问题。

解决办法:

把那个==换成===问题就可以解决了,虽然我后来又调了一下判断条件的先后顺序,呵呵。

if ( extension_loaded('zlib') and !ini_get('zlib.output_compression') and ini_get('output_handler') != 'ob_gzhandler' and ((version_compare(phpversion(), '5.0', '>=') and ob_get_length() === false) or ob_get_length() === false) ) {

}

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/11/27/1654/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

13 Responses to “Philna2 本地wordpress首页空白,后台正常的解决办法”

  1. #1 一天一歌 回复 | 引用 Post:2009-11-27 18:14

    这个问题我也遇到过,不过后来覆盖了一下神奇地好了 :evil:

    [回复]

  2. #2 章鱼 回复 | 引用 Post:2009-11-27 18:58

    新版本的真不错

    [回复]

  3. #3 bolo 回复 | 引用 Post:2009-11-27 19:31

    这个主题弄的太复杂了,出问题就比较难搞,哈哈

    [回复]

  4. #4 掌柜的马甲 回复 | 引用 Post:2009-11-27 22:53

    小小子要开始折腾这个主题了吗?

    [回复]

  5. #5 simaopig 回复 | 引用 Post:2009-11-28 08:32

    @掌柜的马甲
    没有。我像是那么勤劳的人吗?只是昨天调东西的时候偶尔发现这个小问题,顺手解决的。并不是在折腾。呵呵。

    [回复]

  6. #6 张楠 回复 | 引用 Post:2009-11-28 20:44

    呵呵,挺善于研究啊~

    [回复]

  7. #7 simaopig 回复 | 引用 Post:2009-11-29 18:46

    @张楠
    呵呵,就是瞎搞。谈不上啥研究。呵。

    [回复]

  8. #8 洗眼器 回复 | 引用 Post:2009-11-30 09:53

    没用过wordpress,我用的是z-blog~

    [回复]

  9. #9 荒野无灯 回复 | 引用 Post:2009-11-30 11:59

    ;-) 我也曾经遇到过这种情况,后来自己都不记得怎么弄好的了

    [回复]

  10. #10 solemn 回复 | 引用 Post:2010-04-27 19:05

    博主你好!我現在遇到了該問題,無論如何都無法解決,重新下載philna2主題也不行,後臺預覽該主題為空白,啟用后就全站空白,而使用其它主題則沒問題,懇請博主幫忙指點一下,謝謝!

    [回复]

  11. #11 simaopig 回复 | 引用 Post:2010-04-28 09:28

    @solemn
    按照我文中写的试一下呢。是不是你的后台不支持一些函数呢?因为看不到,所以我也只能靠猜。

    [回复]

  12. #12 山中蒙面人 回复 | 引用 Post:2010-08-21 09:38

    都不知道这款主题最新版是多少了,貌似wordpress官网的版本号比较快,但是google code的上传时间又比较新….
    我糊涂了

    [回复]

  13. #13 爱新奇 回复 | 引用 Post:2010-12-13 12:57

    嗯 今天刚好就遇到这个问题
    试试看可以不可以

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)