如何在PHP 7中为Mongodb连接启用libmongoc ssl? [英] How can I enable libmongoc ssl in PHP 7 for Mongodb connection?
问题描述
通过PHP7连接到mongodb时,出现以下错误:
While connecting to mongodb via PHP7, I am getting following error:
"SCRAM-SHA-1"身份验证机制需要构建libmongoc--enable-ssl
The "SCRAM-SHA-1" authentication mechanism requires libmongoc built with --enable-ssl
这可能是由于php7中禁用了libmongoc SSL:
This is probably due to libmongoc SSL disabled in php7:
MongoDB support => enabled
MongoDB extension version => 1.4.4
MongoDB extension stability => stable
libbson bundled version => 1.9.4
libmongoc bundled version => 1.9.4
libmongoc SSL => disabled
libmongoc crypto => disabled
libmongoc SASL => disabled
libmongoc compression => enabled
libmongoc compression snappy => disabled
libmongoc compression zlib => enabled
如何启用它?
推荐答案
要解决PHP7中的此错误,请以超级用户身份执行以下命令:
To resolve this error in PHP7 execute following command as super user:
- 安装所需的依赖项:
yum install git php-devel make gcc openssl-devel
yum install git php-devel make gcc openssl-devel
- 从源代码克隆,编译和构建Mongo PHP驱动程序:
cd mongo-php-driver/
cd mongo-php-driver/
git子模块更新--init
git submodule update --init
phpize
./configure --with-php-config =/usr/bin/php-config--with-mongodb-ssl = openssl
./configure --with-php-config=/usr/bin/php-config --with-mongodb-ssl=openssl
制作
cp ./modules/mongodb.so/usr/lib64/php/modules/
cp ./modules/mongodb.so /usr/lib64/php/modules/
- 如果尚未将mongodb.so添加到php.ini中.
"extension = mongodb.so"
"extension=mongodb.so"
- 重新启动Web服务器以反映更改:
systemctl重新启动httpd.service
systemctl restart httpd.service
这篇关于如何在PHP 7中为Mongodb连接启用libmongoc ssl?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!