在Laravel中加载phpBB代码冲突

我试图从我的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;   
}

当我执行代码时,我收到服务器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);

我发现了一个关于堆栈溢出的帖子,它正好引用了我的问题,但该问题的解决方案从未发布过

Laravel conflicting

在该线程中,有人建议因为phpBB和Laravel都使用composer,所以在加载类时会导致冲突.我不确定这是不是真的.

但是当我调用$user-> session_begin();时,Laravel肯定会影响phpBB.

我建议不要重新发明轮子并使用已编码的扩展名,如 lara-auth-bridge.注册只是在右表中插入正确的行,特别是不熟悉phpBB3,但是你可以看到新帐户后数据库中的更改创建.

编辑:您可以在try {} catch {}块中包围有问题的代码,以防错误对于注册本身而言不是致命的,因此服务器不会以500结尾.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载
为什么laravel比yii火
一些常见的Laravel定时任务不运行的问题
laravel用路由有什么好处
composer无法安装laravel怎么办
laravel现在还用吗
laravel怎么替换主键id
laravel的appurl有什么用
如何修改Laravel的报错输出形式
laravel怎么避免foreach查表
laravel怎样操作数据库
laravel怎么截取字符串
laravel 是国内的吗
laravel怎么设置请求头
浅析Laravel社区Redis组件报错的问题和解决方法