Я пытаюсь получить доступ к некоторым функциям phpBB из моего приложения Laravel, это касается таких действий, как добавление пользователя, когда регистрация происходит на моем основном сайте и автологинах.Загрузка phpBB в конфликты кода Laravel
PhpBB установлен под /public/forums
, и я обновил .htaccess
, чтобы разрешить его. Я могу получить доступ и использовать его просто отлично.
У меня есть помощник, который был первоначально создан для codeigniter, но должен перевестись в мир laravel. Я загружая его в качестве помощника, поставив его под приложения, загружая его с помощью
use App\Helpers\phpBBHelper;
и получить доступ к функции как таковой
$ph = new phpBBHelper();
$ph->addPhpbb3User('dave','password','[email protected]');
В верхней части моего помощника у меня есть этот конструктор
public function __construct() {
// Set the variables scope
global $phpbb_root_path, $phpEx, $cache, $user, $db, $config, $template, $table_prefix;
define('IN_PHPBB', TRUE);
define('FORUM_ROOT_PATH', 'forum/');
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : FORUM_ROOT_PATH;
$phpEx = substr(strrchr(__FILE__, '.'), 1);
// Include needed files
include($phpbb_root_path . 'common.' . $phpEx);
// Initialize phpBB user session
$user->session_begin();
$auth->acl($user->data);
$user->setup();
// Save user data into $_user variable
$this->_user = $user;
}
Когда я выполнить код я получаю сервере Ошибка 500
PHP Fatal error: Call to a member function getScriptName() on null in
/home/ubuntu/workspace/public/forum/phpbb/session.php on line 50
что эта линия
$script_name = $request->escape($symfony_request->getScriptName(), true);
Я нашел пост на переполнение стека, что именно относится к моему вопросу, но решение этого вопроса никогда не отвечал
В этой теме это было предположил, что, поскольку оба phpBB и Laravel используют композитор, он вызывает конфликт при загрузке классов. Я не уверен, что это правда.
Но Laravel, безусловно, влияет на phpBB, когда я вызываю $user->session_begin();
.
для сеанса конфликта в laravel try SESSION_DRIVER с файлом cookie или memcached в .env –