我正在尝试让这段代码运行:
<?php
$m = new MongoClient("mongodb://54.72.237.242");
$db = $m->tilbud;
?>
每次我遇到同样的错误:
Fatal error: Class 'MongoClient' not found in C:\xampp\htdocs\conexion.php
我整天都在阅读这个问题,但任何事情都解决了我的问题(我想这是我做错了)。
我下载了 php_mongo.dll,将其复制到 xampp/php/ext 中,并在 php.ini 存档中添加了 extension=php_mongo.dll
。
我又添加了 4 个 dll,因为我不确定我必须使用哪一个:
extension=php_mongo-1.5.4-5.5-vc11-nts
extension=php_mongo-1.5.4-5.5-vc11
extension=php_mongo-1.5.4-5.5-vc11-nts-x86_64
extension=php_mongo-1.5.4-5.5-vc11-x86_64
所以现在我收到 5 个警告而不是 1 个。最后我猜其中一个会起作用,我会删除另外 4 个。
我尝试过的事情,我确信它们没问题:
我还能尝试什么?
编辑
我试过了
echo extension_loaded("mongo") ? "loaded\n" : "not loaded\n";
它总是说“未加载”。
编辑
终于!
问题是 dll 的名称。它必须是“php_mongo.dll”,正如我在本文开头所说的那样,我试图加载全名 dll。所以我为 extension=php_mongo.dll
更改了正确的 dll (extension=php_mongo-1.5.4-5.5-vc11
) 和瞧!
最佳答案
您还没有安装MongoDB PHP驱动请看这个链接http://www.php.net/manual/en/mongo.installation.php
更新来源
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
安装 MongoDB PHP 驱动程序
sudo apt-get install php5-dev php5-cli php-pear -y
sudo pecl install mongo
打开您的 php.ini 文件并添加到其中:
extension=mongo.so
重启apache
sudo /etc/init.d/apache2 restart
其他帮助信息:
这应该有助于找到您的 php.ini 文件:
php -i | grep 'Configuration File'
在 Ubuntu 上显示如下:
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
请注意,您是从 cli(命令行)运行此命令,因此对于您的真正 php.ini,请转到文件夹 apache2 而不是 cli :)
关于php - 找不到类 'MongoClient',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24533938/