【问题标题】:MongoDb php extension not loadingMongoDb php扩展未加载
【发布时间】:2013-06-06 14:15:44
【问题描述】:

我正在尝试在 Windows 7 64 位 PC 上加载用于 php 的 MongoDb 扩展,运行 XAMPP 与 Apache 2.0 和 PHP 5.3.5,编译器版本 VC6。我从this tutorial 开始,也尝试了php documentation 建议的扩展。 MongoDb 本身运行良好,并且 shell 命令似乎可以工作。

目前我有:

  1. 已将extension=php_mongo.dll 添加到我的php.ini 文件中。
  2. php_mongo.dll 的VC6 版本(来自以下download page,由PHP 文档建议)放在php/ext 文件夹中。
  3. 重新启动了我的 Apache 服务器。

我也尝试过php_mongo.dll 格式的Stealth's github 文件,但它们似乎也不起作用。

重新启动 Apache 时,我没有收到任何错误,但我在 phpinfo() 的 MongoDb 上找不到任何内容,并且 Mongo 类也无法识别。

有什么想法可能是错的吗?如果您需要更多信息,请告诉我。

【问题讨论】:

  • 你能告诉我们 php 在 phpinfo() 输出中注册了什么扩展文件夹吗?
  • 扩展文件夹是C:\xampp\php\ext
  • 你修改了哪个INI文件? phpinfo() 告诉你它正在使用哪个 INI 文件?当 PHP 无法加载您在使用的 php.ini 文件中指定的扩展时,PHP 将引发错误消息,因此您要么抑制这些错误,要么正在修改错误的 php.ini
  • 我遇到了同样的问题,原来我在错误的ini文件中启用了扩展,检查你的phpinfo是哪个php .ini文件正在使用。

标签: php mongodb xampp


【解决方案1】:

可能有两个原因:

第一个是 @Sadd 建议的。您的 mongodb 扩展应该在您完成之后加载,因此很可能您在错误的文件中启用了扩展。是的,有两个类似的文件(在 Windows 计算机上名为 php.ini-developmentphp.ini-production),因此请确保在 php.ini 文件中启用它并运行以下代码 echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n";,您应该会看到 loaded on屏幕。

如果还是看不到,那么第二件事就是检查版本是否正确。您可以检查 phpinfo() 的 php 版本,然后将正确的版本化 dll 文件放在 ext 文件夹中。在此,您必须检查您的 php 是 ts 还是 nts,第二个是检查您的 php 是 x64 还是 x86。我希望您能顺利完成一项或两项更改。

【讨论】:

    【解决方案2】:

    使用Bitnami WAMP Stack而不是XAMPP,它预装了php_mongo.dll驱动程序,无需配置php.ini文件

    没有针对 PHP7 发布的官方 MongoDB 驱动程序。所以最好下载Bitnami Wamp Stack提供的推荐PHP版本5.5.30(当前)。

    【讨论】:

      【解决方案3】:

      问题可能是扩展版本不正确。尝试从这里下载不同的版本:http://pecl.php.net/package/mongo/1.6.4/windows

      【讨论】:

        【解决方案4】:

        这让我发疯了,直到我仔细查看了我的 PHP 版本:

        $ php -v
        PHP 7.4.1 (cli) (built: Dec 17 2019 19:23:59) ( NTS Visual C++ 2017 x64 )
        

        注意到上面写着 PHP 7.4.1NTSx64?这意味着当我从 PECL 下载时,我需要版本 7.4 Non Thread Safe (NTS) x64 否则它将无法正常运行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-07-28
          • 2020-02-23
          • 2020-06-21
          • 2016-05-03
          • 2015-08-27
          • 2013-02-22
          • 1970-01-01
          相关资源
          最近更新 更多