首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >phpinfo()和pecl搜索mongo显示不同版本的mongodb

phpinfo()和pecl搜索mongo显示不同版本的mongodb
EN

Stack Overflow用户
提问于 2018-05-31 18:39:30
回答 5查看 1.2K关注 0票数 1

我已在本地pc上安装了MongoDB,请参阅下面的站点

http://linuxforever.info/2017/04/13/how-to-install-mongodb-3-4-in-linux-mint-18-ubuntu-16-04/

我做了一个简单的MongoDB演示,当我运行这个项目时,我得到了一个错误,比如

致命错误:调用未定义的方法MongoDB\Driver\WriteConcern::isDefault()

我已经检查了两端(phpinfo.php和终端)的MongoDB版本,这是不同的。

终端=> pecl search mongo命令

Matched packages, channel pecl.php.net: Package Stable/(Latest) Local mongo 1.6.16 (stable) MongoDB database driver mongodb 1.4.3 (stable) 1.4.3 MongoDB driver for PHP

Phpinfo =>

MongoDB extension version 1.2.9 MongoDB extension stability stable libbson bundled version 1.5.5 libmongoc bundled version 1.5.5

请帮我解决这个问题。

提前感谢

EN

回答 5

Stack Overflow用户

发布于 2018-05-31 19:09:19

代码语言:javascript
复制
<?php
require_once './vendor/autoload.php';
$con = new MongoDB\Client("mongodb://localhost:27017");

// Creating Database
$db = $con->yourdbname;
// Creating Document
$collection = $db->employee;
// Insering Record
$collection->insertOne( [ 'name' =>'Peter', 'email' =>'peter@abc.com'] );
// Fetching Record
$record = $collection->find( [ 'name' =>'Peter'] );
foreach ($record as $employe) {
   echo $employe['name'], ': ', $employe['email']."<br>";
}

?>
票数 1
EN

Stack Overflow用户

发布于 2018-06-01 15:26:18

请短时间检查此屏幕

票数 1
EN

Stack Overflow用户

发布于 2018-05-31 18:44:40

尝试使用以下命令进行安装:

代码语言:javascript
复制
  pecl install mongodb 

在末尾添加php.ini文件的扩展名

代码语言:javascript
复制
extension = mongodb.so

重新测试php和apache服务器

使用composer加载mongo db包

代码语言:javascript
复制
composer require mongodb/mongodb 

在上述过程之后运行以下代码

代码语言:javascript
复制
    <?php  
require 'vendor/autoload.php';  
// Creating Connection  
$con = new MongoDB\Client("mongodb://localhost:27017");  
// Creating Database  
$db = $con->yourdbname;  
// Creating Document  
$collection = $db->employee;  
// Insering Record  
$collection->insertOne( [ 'name' =>'Peter', 'email' =>'peter@abc.com' ] );  
// Fetching Record  
$record = $collection->find( [ 'name' =>'Peter'] );  
foreach ($record as $employe) {  
echo $employe['name'], ': ', $employe['email']."<br>";  
} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50622361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档