首页 > 深入PHP > phpbb plus1.52中的一个BUG

phpbb plus1.52中的一个BUG

2006年3月15日
阅读(10978) 评论 发表评论

昨天突然发现我用phpbb plus1.52的建的一个论坛出错了,表现为不管是前台还是后打开后都是一片空白。尝试查找原因>

首先再config.php中添加如下两行代码,强制显示错误资料,结果出了一堆的notice但没看到任何error,而正常页面还是没有输出。

error_reporting(E_ALL);
ini_set(‘display_errors’,1);

然后开始尝试使用跟踪错误的终极方法 > 手动断点跟踪大法(呵呵,这是我给起的名)。具体就是手动在代码中的不同位置添加die(‘-stop-’),然后看看放在那个位置能正常输出’-stop-’,那里不能,然后逐步找到异常终止的代码行,如果是include和function等还要跟踪进去,再重复以上步骤,找出出问题的根源。

通过这个方法,跟进了七层,才终于找出问题所在:系统生成的def_tree.php缓存代码有错误,在PHP 代码中直接出现了一行hmtl的注释,删除注释后,系统恢复正常。

系统在include这个cache文件是使用了@include(),屏蔽了错误的输出。不知道有没有什么为法能让@屏蔽的错误强制输出,如果可以,以后调试时可以省点事了。

对于为什么会在def_tree.php中出现错误代码,也找到了原因。在extreme style配置中有项为在 html 里加入 tpl 文件名,当其为打开状态时,系统会在所有使用模版的输出中添加html格式的注释来标明这个输出是使用的是模版,但phpbb plus 1.52错误的在缓存的PHP代码中也使用了这个注释,结果导致了一个parse error.暂的解决为法就是关掉这个选项,如果已经出错误了就只有手动去修改def_tree,def_auth等几缓存文件了。

深入PHP

  1. 2006年3月20日10:53 | #1

    phpbb我还是喜欢www.phpbbstyles.com里的MOD: eXtreme Styles mod 2.x

    风格也好看一些。个人意见哈。

  2. kometo
    2006年3月20日22:59 | #2


    我那个PHPBB的风格是PHPBB PLUS1.52自带的,一直不满意,但没有时间,论坛目前也没有完全推广,所以一直没改

    你推荐的地方我倒是看中了一个,有时间换上去
    http://demo.phpbbstyles.com/index.php?sid=527a227c4b607b9e9a39a8dd18d831a3&style=180&x=34&y=6

    不过我用的是PHPBB PLUS版,不知道能不能用上,也许还有改不少东西,也许当时选择这个版本就是一个错误!

  3. 2006年3月21日03:21 | #3

    如果不要功能特别多,仅做技术支持的话,再推荐你几个选择

    1.http://www.phorum.org/
    Phorum = Speed + Power! 客户:forum.mysql.com

    2.http://punbb.org/
    快,少图,多种数据库支持

    其实除了VBB,Discuz,PHPWind,好论坛很多啊,关键看你干啥了:)
    1和2速度都超快的:)具体功能不太了解。
    1尤其适合整合到某个系统里,风格很容易修改。

    对一个技术论坛而言,哪个都绰绰有余了:)

  4. kometo
    2006年3月21日10:25 | #4

    谢谢你推荐

  5. 2008年12月13日21:42 | #5

    Thanks!,

  1. 目前还没有任何 trackbacks 和 pingbacks.