Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php:7.2-fpm-alpine上启用mongodb?_Php_Mongodb_Alpine - Fatal编程技术网

如何在php:7.2-fpm-alpine上启用mongodb?

如何在php:7.2-fpm-alpine上启用mongodb?,php,mongodb,alpine,Php,Mongodb,Alpine,我试图在php:7.2-fpm-alpine上启用mongodb,但我无法看到在php.ini中加载mongodb扩展 以下是一些附加信息: # mongo --version MongoDB shell version v3.4.4 git version: 888390515874a9debd1b6c5d36559ca86b44babd OpenSSL version: LibreSSL 2.5.5 allocator: system modules: none build environm

我试图在php:7.2-fpm-alpine上启用mongodb,但我无法看到在php.ini中加载mongodb扩展

以下是一些附加信息:

# mongo --version
MongoDB shell version v3.4.4
git version: 888390515874a9debd1b6c5d36559ca86b44babd
OpenSSL version: LibreSSL 2.5.5
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

基于该警告,我猜mongo扩展丢失了,但这与#mongo--version命令检索到的信息不冲突吗

我还尝试查找mongodb,所以使用find/-name'mongo*.*'

在php:7.2-fpm-alpine上安装和启用mongodb驱动程序的最佳方法是什么

更新: 运行此命令时的其他信息:#apk list-a | grep“mongo”我看到了:
mongodb-3.4.4-r0 x86_64{mongodb}(AGPL3)[已安装]

在做了更多的研究和挖掘之后,我最终在服务器上安装了PECL

在Alpine上安装PECL:

apk update && apk upgrade
apk add --no-cache php7-pear php7-dev gcc musl-dev make
安装PECL后,我运行以下命令:

sudo pecl install mongodb
安装mongodb后,我在/usr/local/etc/php/conf.d/20_mongodb.ini中添加了“extension=mongodb.so”

最后我重新启动了docker容器

在完成所有这些步骤之后,我可以通过查看phpinfo()看到Mongodb的安装和启用

现在当我跑步时:

php -i | grep mongo
我明白了

我假设最新的Mongodb(libmongoc)是PHP包,而“Mongodb shell v3.4.4版”是服务器级包


我希望有人会觉得这些信息很有用。

这张图片中没有与mongodb相关的内容。@D.SM您能详细说明一下吗?是否有其他解决方案或黑客?服务器上安装的mongoDB是什么:mongoDB shell v3.4.4版?如果您在基于此映像的容器中安装了任何与mongoDB相关的内容,这是本应讨论的重要信息。@D.SM我不理解您的评论,我在问题中没有提到的容器上安装了什么?你没有说你安装了任何东西,这是我的观点。
php -i | grep mongo
mongodb
libmongoc bundled version => 1.17.0