php - 找不到类 'MongoClient'

标签 php mongodb connect

我正在尝试让这段代码运行:

<?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 个。

我尝试过的事情,我确信它们没问题:

  • extension_dir 指向正确的文件夹。
  • 我修改的php.ini是xammp加载的那个。
  • Phpinfo 没有显示任何关于 mongo 的信息。

我还能尝试什么?

编辑

我试过了

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/

相关文章:

php - 在 Redis 中存储数组的数组

php - PHP 代码中的 CSS 搞乱了 IE9 中的布局

node.js - 使用回调和 promise 对 mongodb 查询的不同响应

node.js - 防止为 connect-redis session 设置 TTL 以允许 allkeys-lru 用于内存策略

php - 从父类调用扩展类函数

php - 在tcpdf中混合rtl和ltr

java - MongoDB 日期时间插入没有从 java 完美发生

php - 映射 - Symfony2 中的 Mongodb 嵌入式文档

node.js - 将响应正文表达到缓冲区

python - PyQt 断开和连接信号