第三方软件中的 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 - 未找到用户模块的主要内容,如果未能解决你的问题,请参考以下文章