在第三方软件中没有找到用户模块


Yii2 in third party software - user module not found

我已经安装了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'如下:

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

我该如何解决这个问题?

你的自动加载器必须知道如何找到这个类。如果你正在使用composer,在composer.json中添加以下内容:

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

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

如果你不使用composer,你必须在你的自动加载器中手动注册类