首页 文章

四处走动不能重新声明PHP中的错误

提问于
浏览
1

我正在尝试整合WordPress和MyBB论坛 . 具体来说,我只想将WordPress的导航栏(新菜单)添加到我的MyBB网站 . 在CODEX示例之后,我将以下内容添加到myBB安装的header.php中:

require('/home/linuxdis/public_html/wp-blog-header.php');

但是,导航到论坛时出现500错误 . 检查error_log显示了这个:

PHP致命错误:无法在第1213行的/home/linuxdis/public_html/wp-includes/capabilities.php中重新声明is_super_admin()(之前在/home/linuxdis/public_html/forum/inc/functions.php:5484中声明)

无赖,功能命名相同 . 除了重命名其中一个功能并且可能完全破坏一切之外,还有办法解决这个问题吗? :/

1 回答

  • 3

    用户 require_once() 而不是 require() ,它将确保每页只包含一次该文件 .

    虽然在这种情况下不理想,但您可以在function_exists()检查中包装每个函数:

    if(!function_exists('myfunc') {
        function myfunc() {....}
    }
    

    如果与WP / MyBB发生直接冲突,这可能是你唯一的选择,如果他们都需要 is_super_admin() ,你就会被卡住 .

相关问题