我想從我的Laravel應用程序訪問phpBB中的一些功能,這是爲了在註冊發生在我的主站點和自動登錄時添加用戶等操作。在Laravel代碼衝突中加載phpBB
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都使用作曲者,所以在加載類時會引起衝突。我不確定這是否屬實。
但是,當我呼叫$user->session_begin();
時,Laravel肯定會影響phpBB。
laravel中的會話衝突嘗試SESSION_DRIVER與Cookie或memcached中.env –