第三方软件中的 Yii2 - 未找到用户模块

Posted

技术标签:

【中文标题】第三方软件中的 Yii2 - 未找到用户模块【英文标题】:Yii2 in third party software - user module not found 【发布时间】:2016-11-04 11:14:33 【问题描述】:

我已经安装了 MediaWiki 并正在尝试实现单点登录,这样当我的用户在我的 Yii2 系统上登录他们的帐户时,他们也可以登录到 wiki。

所以我想对 wiki 进行“Yii-fy”,这样我就可以摆弄授权码了。

考虑到这一点,我遵循了 Yii 文档并在 wiki 的入口页面中输入了以下内容,该页面位于“web/wiki”目录中:

require(__DIR__ . '/../../vendor/yiisoft/yii2/Yii.php');
$yiiConfig = require(__DIR__ . '/../../config/web.php');
new yii\web\Application($yiiConfig); // Do NOT call run() here

这些文件的路径很好,但是我得到了:

Previous exception:
exception 'ReflectionException' with message 'Class dektrium\\user\\Module     
does not exist'

我的 web.php 的“用户”如下:

'user' => [
    'class' => 'dektrium\user\Module',
    'enableRegistration' => false,
],

我该如何解决这个问题?

【问题讨论】:

wiki 是否使用自动加载器? dektrium\user\Module 类是否在自动加载器中注册? 【参考方案1】:

您的自动加载器必须知道如何找到此类。如果您使用的是 composer,请在 composer.json 中添加以下内容:


   "autoload": 
      "psr-4": 
        "dektrium\\": "[path to dektrium folder]",
      
    ,

所以,运行 composer update 来更新自动加载器并注册类。

如果您不使用 Composer,则必须在自动加载器中手动注册该类。

【讨论】:

以上是关于第三方软件中的 Yii2 - 未找到用户模块的主要内容,如果未能解决你的问题,请参考以下文章

yii2微博第三方登录

未找到 config.h 文件

python 非root 用户安装第三方模块

yii2 如何用命名空间方式使用第三方类库

华为手机在安装第三方软件出现该安装包未包含任何证书?怎么处理可以使手机正常下载安装。

安装第三方模块