Интеграция CodeIgniter и PhPBB 3.1.3

Я разрабатываю сайт на основе 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();
?>

Это работает (у меня нет ошибок)

Ты хоть представляешь, что не так с моим кодом?

Спасибо.

2

Решение

Итак … Я нашел решение после долгих исследований …

https://www.phpbb.com/community/viewtopic.php?f=71&т = 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;
4

Другие решения

Мне также нужно было интегрировать phpbb в базовый веб-сайт codeigniter, и я столкнулся со многими проблемами и, наконец, смог это сделать. Если вам это нужно, вы можете найти весь код на Интеграция с phpbb в коде он также содержит версию phpbb, которую я использовал для интеграции, а также сомнительную. Если вы хотите улучшения в коде. Пожалуйста, закажите меня на github.

1

По вопросам рекламы [email protected]