我开发了一个基于CodeIgniter的网站,最新版本2.2.1,我安装了一个PhPBB论坛(版本3.1.3)。
我想在我的网站上使用论坛的功能(如连接/个人资料等)。 我已经浏览了这个网站:http://www.3cc.org/blog/2010/03/integrating-your-existing-site-into-phpbb3/只是显示我的伪。
我的控制器只是第一段的复制/粘贴
class Forum_test extends CI_Controller{
function __construct()
{
parent::__construct();
}
function index()
{
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
}
}
我的问题是当我尝试使用此代码时,出现以下错误
Fatal error: Call to a member function header() on a non-object in /var/www/forum/phpbb/session.php on line 224
但是,如果我创建一个只有
的简单文档<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
?>
它有效(我没有任何错误)
您是否知道我的代码有什么问题?
谢谢。
答案 0 :(得分:4)
所以...经过长时间的研究后我找到了解决方案......
https://www.phpbb.com/community/viewtopic.php?f=71&t=2287546
解决方案是将全局变量添加到函数索引
global $request;
global $phpbb_container;
global $phpbb_root_path, $phpEx, $user, $auth, $cache, $db, $config, $template, $table_prefix;
global $request;
global $phpbb_dispatcher;
global $symfony_request;
global $phpbb_filesystem;
答案 1 :(得分:1)
我还需要将phpbb集成到codeigniter基础网站并面临许多问题,最终能够做到。如果你需要它,你可以在phpbb integration in codeigniter找到所有代码,它还包含我用来整合和怀疑的phpbb版本。如果你想改进代码。请在github上讨论我。