【问题标题】:Yii2 in third party software - user module not found第三方软件中的 Yii2 - 未找到用户模块
【发布时间】: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 类是否在自动加载器中注册?

标签: php yii2 yii2-user


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-30
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2014-05-31
    • 2013-04-26
    相关资源
    最近更新 更多