- mongodb / mongodb 1.2.0需要ext-mongodb ^ 1.3.0 - >系统中缺少所请求的PHP扩展mongodb

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (1601)

在Debian Jessie上,Apache2 --version“0.91-ubuntu1”,PHP 5.6.30。

在搜索主题时,我已经尝试了许多已经回答的问题。

1)我为MongoDB PHP驱动程序进行了手动安装 http://php.net/manual/en/mongodb.installation.manual.php

2)要检查它是否有效,我创建了一个文件testMongo.php并添加

<?php phpinfo(); ?>

3)在浏览器中运行testMongo.php,可以找到该配置文件。

/etc/php5/apache2/php.ini

4)可以使用命令找到我的mongo.so文件

php -i | grep extension_dir

5)输出是:

extension_dir => / usr / lib / php5 / 20131226 => / usr / lib / php5 / 20131226

6)在这个文件中,我在“动态扩展”之后添加了

延长= / usr / lib中/ PHP5 / 20131226 / mongo.so

7)然后我去了Composer并完成了命令行安装

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

8)安装Composer后,我试过:

php composer.phar require mongodb/mongodb

但是,这会产生以下消息:

  Problem 1
   - mongodb/mongodb 1.2.0 requires ext-mongodb ^1.3.0 -> the requested PHP extension mongodb is missing from your system.
   - mongodb/mongodb 1.2.0 requires ext-mongodb ^1.3.0 -> the requested PHP extension mongodb is missing from your system.
   - mongodb/mongodb 1.2.0 requires ext-mongodb ^1.3.0 -> the requested PHP extension mongodb is missing from your system.
   - Installation request for mongodb/mongodb ^1.2 -> satisfiable by mongodb/mongodb[1.2.0].

一些研究员在帖子中提到我可以使用--ignore-platform-reqs它有效!

当我跑:

#php5 index.php $ client = new MongoDB \ Client(<连接到mongo-atlas>)//使用python

我收到以下错误:

PHP Fatal error:  Class 'MongoDB\Driver\Manager' 
not found in /var/www/vendor/mongodb/mongodb/src/Client.php on line 83
提问于
用户回答回答于

Composer在那里给你正确的答案,你使用的是错误的库。不要使用--ignore-platform-reqs,或者你可以强制安装它。你现在需要做的是检查哪个库适合你的php版本。写

php --version

如果你不知道你正在使用哪一个。输出应该是这样的:

PHP 5.6.30-0+deb8u1 (cli) (built: Feb  8 2017 09:49:20)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

在下面的列表中找到您的版本。

请参阅mongodb中的说明:mongodb的PHP驱动程序

前往pecl并下载适合您的php版本号的任何版本。

在你的情况下(PHP5.6):

$ wget https://pecl.php.net/get/mongodb-1.2.11.tgz
$ tar -xvzf mongodb-1.2.11.tgz
$ cd mongodb-1.2.11/
$ phpize
$ ./configure
$ make all -j 5
$ sudo make install

现在它应该工作。

您可以使用此代码测试php mongodb连接(查找ObjectId):

<?php
# filename ConnectMongo.php
require_once __DIR__ . "/vendor/autoload.php";

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// connect to mongodb
$manager = new MongoDB\Driver\Manager('mongodb://username:password@host');

$id = new \MongoDB\BSON\ObjectId("5a0c8e2362eb6404c2f10032");
$filter = ['_id' => $id];
$options = [];

$query = new \MongoDB\Driver\Query($filter, $options);
$rows   = $manager->executeQuery('db.collection', $query);
foreach ($rows as $document) {
    var_dump($document);
}
?>

在终端写这个来测试连接:

$ php ConnectMongo.php

确保您还使用composer进行安装,不应再出现相同的错误。

热门问答

使用微信小程序也可以做腾讯云的标准视频直播吗?使用微信小程序做腾讯云的视频直播和im即时通讯可行吗?

美女视频一起走向共同富裕
推荐
支持的 IM部分,集成云通信 https://cloud.tencent.com/document/product/269/36838 标准直播部分,使用live-pusher和live-player标签,然后用云直播即可 https://cloud.tencent.com/do...... 展开详请

为什么我通过控制台vnc看到的界面和用vnc viewer看的的界面不一样???

HappyLau谈云计算专注于公有云,私有云解决方案,在kubernetes,openstack,kvm,ceph,linux,shell有丰富的实战经验。
推荐

控制台页面使用的是novnc,novnc是一种基于web页面使用的vnc客户端,详情可参考https://github.com/novnc/noVNC介绍,常规的vnc viewer是图形的客户端,所使用的依赖库有所不同,因此显示也不一样。

iOS在release下不走sendProcessBlock进度回调?

karis

腾讯 · 客户端开发工程师 (已认证)

Karis
推荐

请问是哪个版本的sdk呢,调用代码方便贴一下吗,最好能提供一个能复现的demo哈

API获取域名列表一直AuthFailure,code:4100?

推荐
推荐使用SDK进行调用:https://github.com/QcloudApi/qcloudapi-sdk-python 如果要自己写,也请参考下签名文档中python的代码示例,或者SDK中的源码:https://github.com/QcloudApi/qcloudapi-...... 展开详请

请问有图片鉴黄和文字甄别功能吗?现文字违规监控那么严格,有什么好的检测吗?

推荐已采纳
有的。 腾讯云 CDN 结合腾讯优图的深度学习图像识别技术,推出“图片鉴黄”服务,针对 CDN 全网分发的图片进行智能扫描,有效规避您的业务涉黄风险,目前全网免费公测中。参考文档:https://cloud.tencent.com/document/product/228/117...... 展开详请

使用文档遇到问题,可以找谁处理?

推荐已采纳
请叫我雷锋!腾讯云文档有“文档反馈”的功能,直接在文档页面就可以反馈,反馈还有 礼品 ~ 云+社区:问答.png ... 展开详请

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励