【问题标题】:PHP: class "MongoClient" not found?PHP:找不到类“MongoClient”?
【发布时间】:2017-05-09 10:40:46
【问题描述】:

我尝试做的时候遇到了这个问题 终端上的app/console doctrine:mongodb:schema:update

[Symfony\Component\Debug\Exception\ClassNotFoundException] 尝试从全局命名空间加载类“MongoClient”。 您是否忘记了“使用”语句?

我尝试了所有我发现的东西。 任何人都可以帮助我吗?

【问题讨论】:

  • 您是否已将extension=mongodb.so 添加到您的php.ini 文件中?
  • 确保在 php.ini 中激活了 intl 扩展。这对我有用。
  • 请注意 \MongoClient 来自旧版驱动程序 mongo (pecl.php.net/package/mongo),您需要安装它,而不是当前的 mongodb(注意 db 最后的区别)
  • @TeyimPila extension=mongodb.so 不在文件 php.ini 中,我添加了它,但它仍然不起作用。
  • @BilalAhmed 它不存在所以我添加了它但它不起作用

标签: php mongodb symfony php-5.6


【解决方案1】:

我可以看到您正在使用 Doctrine MongoDB ODM。 Doctrine MongoDB ODM 依赖于遗留的 mongo 驱动程序ext-mongo,该驱动程序仅适用于 5.6 以下的 PHP。如果您使用的 PHP 最高为 5.6,您只需安装并启用它。

如果您使用的是 PHP7+,则必须安装新的 mongo 驱动程序 ext-mongodb 并使用 polyfill 将 Doctrine MongoDB ODM 与新库连接起来,如下所述:http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/introduction.html#using-php-7

您可以将 Doctrine MongoDB ODM 与 PHP 7 一起使用,但在安装过程中还有一些额外的步骤。由于旧版驱动程序(称为 ext-mongo)在 PHP 7 上不可用,您需要安装新驱动程序(ext-mongodb)并使用 polyfill 来提供旧版驱动程序的 API。

【讨论】:

    猜你喜欢
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    相关资源
    最近更新 更多