Я разрабатываю сайт на основе 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();
?>
Это работает (у меня нет ошибок)
Ты хоть представляешь, что не так с моим кодом?
Спасибо.
Итак … Я нашел решение после долгих исследований …
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;
Мне также нужно было интегрировать phpbb в базовый веб-сайт codeigniter, и я столкнулся со многими проблемами и, наконец, смог это сделать. Если вам это нужно, вы можете найти весь код на Интеграция с phpbb в коде он также содержит версию phpbb, которую я использовал для интеграции, а также сомнительную. Если вы хотите улучшения в коде. Пожалуйста, закажите меня на github.