【问题标题】:Yii2 error - Class 'yii\mongodb\ActiveRecord' not foundYii2 错误 - 找不到类 'yii\mongodb\ActiveRecord'
【发布时间】:2017-10-21 17:23:04
【问题描述】:

我已经用 Yii2 basic 在我的系统上完成了 mongodb 的设置。

我还在 /vendor/yiisoft 目录中安装了 mongodb (yii2-mongodb) 的扩展并检查了权限。

现在我正在测试与控制器和模型的连接,但出现以下错误。

PHP 致命错误 - yii\base\ErrorException 类

'yii\mongodb\ActiveRecord' 未找到

有什么需要安装的吗?

【问题讨论】:

  • 你是用 composer 安装 yii2-mongodb 的吗?
  • 是的,我使用 composer 安装了它,在更新 composer 时出现错误,即您的要求无法解决为一组可安装的软件包。
  • 所以看起来你还没有安装它。可能您缺少 MongoDB PHP 扩展。
  • 我正在使用 PHP 版本 7 并且启用了 MongoDB 扩展版本:1.2.8。

标签: php mongodb activerecord yii yii2


【解决方案1】:

你有没有安装 composer 的 yii2/mongodb ^^?

composer require --prefer-dist yiisoft/yii2-mongodb

或者您尝试按照此official Yii2 document 一步一步地操作也许可以帮助您:)!

【讨论】:

  • 不能直接将库文件复制到vendor目录,composer autoloader检测不到库。呃,我看到你说你使用作曲家并在更新作曲家时出错,对吗?你能把错误贴在这里让我们看看也许可以帮助你
  • 这是错误:您的要求无法解析为一组可安装的软件包。潜在原因:- 软件包名称中的拼写错误- 根据该软件包在足够稳定的版本中不可用您的最低稳定性设置请参阅 getcomposer.org/doc/04-schema.md#minimum-stability> 了解更多详情。
  • @user2531706 抱歉回复晚了,我之前遇到过这个“最低稳定性”问题,当时我做了很多研究。您可以备份整个项目,然后删除“供应商”文件夹,然后运行composer update 重新安装所有软件包。这是我解决问题之前的方法。
【解决方案2】:

在这种情况下,我在更新作曲家之前尝试了以下命令,以完成需要更新作曲家的软件包

sudo apt-get update
sudo apt-get install php7.0-xml

您很可能也缺少 mbstring 。如果您收到错误,请安装此软件包。

sudo apt-get install php-mbstring

然后运行

composer require --prefer-dist yiisoft/yii2-mongodb
composer update

会工作!!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 2016-02-17
    • 2021-03-28
    相关资源
    最近更新 更多