我试图从我的Laravel应用程序访问PHPBB中的一些函数,这是为了在我的主站点上发生注册时添加用户和自动登录等操作.
PHPBB安装在/ public / forums下,我更新了.htaccess以允许它.我能够访问并使用它就好了.
我有一个最初为codeigniter构建的帮助器,但应该转换到laravel世界.我将它作为帮助程序加载,将其置于应用程序下,使用它加载它
use App\Helpers\PHPBBHelper;
我这样访问这些功能
$ph = new PHPBBHelper(); $ph->addPHPbb3User('dave','password','dave@dave.com');
在我的助手的顶部,我有这个构造函数
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; }
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都使用composer,所以在加载类时会导致冲突.我不确定这是不是真的.