MongoDb php扩展无法加载

时间:2013-06-06 14:15:45

标签: php mongodb xampp

我试图在Windows 7 64位PC上加载php的MongoDb扩展,运行带有Apache 2.0和PHP 5.3.5的XAMPP,编译器版本VC6。我从this tutorial开始,并尝试了php documentation建议的扩展程序。 MongoDb本身运行正常,shell命令似乎有效。

目前我有:

  1. extension=php_mongo.dll添加到我的php.ini文件中。
  2. 将php6版本的php_mongo.dll(来自以下download page,由PHP文档建议)放在php / ext文件夹中。
  3. 重启我的Apache服务器。
  4. 我还尝试过php_mongo.dllphpinfo()个文件,但它们似乎也没有用。

    重新启动Apache时,我没有收到任何错误,但我无法在{{1}}中找到MongoDb上的任何内容,也无法识别Mongo类。

    任何可能出错的想法?如果您需要更多信息,请告诉我。

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

可能有两个原因:

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

如果仍然看不到它,那么您可以做的第二件事是检查版本是否正确。您可以检查phpinfo()的php版本,然后将正确版本的dll文件放入ext文件夹。在这种情况下,您必须检查您的php是ts还是nts,第二个是您的php是x64还是x86。希望您能一次或两次完成更改。

答案 3 :(得分:0)

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

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

是否注意到它显示 PHP 7.4.1 NTS x64 ?这意味着从PECL下载时,我需要版本 7.4非线程安全(NTS)x64 ,否则它将无法正常运行。