我正在尝试运行此代码:
<?php
$m = new MongoClient("mongodb://54.72.237.242");
$db = $m->tilbud;
?>
Run Code Online (Sandbox Code Playgroud)
每次我都得到同样的错误:
Fatal error: Class 'MongoClient' not found in C:\xampp\htdocs\conexion.php
Run Code Online (Sandbox Code Playgroud)
我一整天都在阅读这个问题,但是任何事情都解决了我的问题(我想这是我做错的事).
我下载了php_mongo.dll,我将它复制到xampp/php/ext中,并extension=php_mongo.dll
在php.ini存档中添加.
我添加了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个警告而不是一个.最后我想其中一个会起作用,我会删除其他4个.
我试过的东西,我确定它们还可以:
我还能尝试什么?
编辑
我试过了
echo extension_loaded("mongo")?"loaded \n":"未加载\n";
它总是说'没有加载'.
编辑
最后!问题是dll的名字.它必须是'php_mongo.dll',我试图加载全名dll正如我在这篇文章的开头所说的那样.所以我改变了正确的dll for me(extension=php_mongo-1.5.4-5.5-vc11
)for extension=php_mongo.dll
和voilà!
我正在尝试为 php7 安装 mongoDB 扩展。我从全新安装的 Ubuntu-Server 16.04.1 开始。预安装(在安装操作系统时)软件包是 LAMP-extension、OpenSSL 和 MySQL-server。这是安装在本地 VirtualBox 上的。它应该是一个开发系统,为每个开发人员配置平等。
首先,我根据这些说明安装了 MongoDB 本身:在 Ubuntu 上安装 mongoDB
之后,根据第二条指令:安装 php7-mongoDB-client-driver,
我安装了
它可以在
$sudo apt-get install php-pear phpize
Run Code Online (Sandbox Code Playgroud)
因为这两个包在使用时被标记为丢失
sudo pecl install mongodb
Run Code Online (Sandbox Code Playgroud)
第一次。
然后我被建议安装openssl-extension。关于这一点,我找到了一条指令,告诉我执行这 3 个命令:
$sudo apt-get install libssl-dev
$sudo apt-get install libcurl4-openssl-dev
$sudo apt-get install libcurl4-openssl-dev pkg-config libssl-dev libsslcommon2-dev
(第一个包已经安装在我的系统上)
在那之后
$php -m
Run Code Online (Sandbox Code Playgroud)
应该将“openssl”显示为列表中的一个点。
然后我终于可以执行了
$sudo pecl install mongodb
Run Code Online (Sandbox Code Playgroud)
这个安装最后显示了四个指令:
<Installing '/usr/lib/php/20151012/mongodb.so'>
<install ok: channel://pecl.php.net/mongodb-1.1.8>
<configuration option "php_ini" is not set to …
Run Code Online (Sandbox Code Playgroud)