我试图在Windows 7 64位PC上加载php的MongoDb扩展,运行带有Apache 2.0和PHP 5.3.5的XAMPP,编译器版本VC6。我从this tutorial开始,并尝试了php documentation建议的扩展程序。 MongoDb本身运行正常,shell命令似乎有效。
目前我有:
extension=php_mongo.dll
添加到我的php.ini
文件中。php_mongo.dll
(来自以下download page,由PHP文档建议)放在php / ext文件夹中。我还尝试过php_mongo.dll
个phpinfo()
个文件,但它们似乎也没有用。
重新启动Apache时,我没有收到任何错误,但我无法在{{1}}中找到MongoDb上的任何内容,也无法识别Mongo类。
任何可能出错的想法?如果您需要更多信息,请告诉我。
答案 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-development
和php.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 ,否则它将无法正常运行。