“SCRAM-SHA-1”身份验证机制需要使用--enable-ssl构建libmongoc

时间:2018-05-26 10:11:34

标签: mongodb amazon-web-services laravel-5

使用Laravel 5.4和Mongodb 3.6连接到数据库时获取错误消息

Mx800-vfi-toolchain-011a.tgz

它在ubuntu 16.04中运行正常,版本相同,但在AWS Linux中没有。

已安装LAMP [php70,apach24]:

已安装Mongodb [3.6]:

为php7安装了php-mongodb驱动程序:

The "SCRAM-SHA-1" authentication mechanism requires libmongoc built with --enable-ssl

php-mongodb驱动安装并更新到php.ini,mongodb也显示在phpinfo()中。

我们发现从phpinfo中禁用了libmongoc ssl,这是问题吗?

enter image description here

我们如何启用它?

7 个答案:

答案 0 :(得分:4)

错误,因为来自php-mongodb驱动程序的已禁用libmongoc SSLlibmongoc Crypto,并且已通过以下命令启用。

sudo pecl7 config-set php_ini /etc/php.ini

安装mongodb驱动程序sudo pecl7 install mongodb后,我们应该设置上述内容。

现在运行良好。

答案 1 :(得分:1)

在Ubuntu 18.04 LTS,PHP 7.2.7上

我必须安装一些额外的软件包:

sudo apt-get install -y libcurl4-openssl-dev pkg-config libssl-dev

然后重新安装mongodb:

sudo pecl uninstall mongodb
sudo pecl install mongodb

然后检查是否已启用SSL:

php -i | grep mongo
  

/etc/php/7.2/cli/conf.d/20-mongodb.ini,   mongodb
  libmongoc捆绑的版本=> 1.11.0   libmongoc SSL =>已启用   libmongoc SSL库=> OpenSSL   libmongoc crypto =>已启用   libmongoc加密库=> libcrypto

重新启动php:

sudo service php7.2-fpm restart

答案 2 :(得分:0)

在我的Debian 9模块上,编译失败并出现以下错误:

  

配置:错误:OpenSSL库和开发标头无法   被发现

如果您有相同的错误,请尝试以下操作:

apt-get remove libssl-dev
apt-get install libssl1.0-dev

答案 3 :(得分:0)

对于在 Alpine docker 上出错的用户。您必须添加 Dockerfile

RUN apk add curl-dev openssl-dev

代替sudo apt-get install -y libcurl4-openssl-dev pkg-config libssl-dev

我也使用了RUN pecl config-set php_ini /etc/php.ini

答案 4 :(得分:0)

对于我来说,此命令可以在Debian 9和php 7.0上执行所有操作

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://stackoverflow.com/', {waitUntil: 'networkidle0'});
  try {
    const x = await page.$eval("body > header > div > ol.list-reset.grid.gs4 > li > a")
    console.log(firstArticle.text())
  } catch(err){
    console.log(err)
  }

  console.log(x.text())

  await browser.close();
})();

之后只需重新启动Apache2服务

答案 5 :(得分:0)

我使用docker收到相同的消息。我添加到我的Docker文件中

apt-get install -y libcurl4-openssl-dev pkg-config libssl-dev

然后运行

docker-compose up -d --build

答案 6 :(得分:0)

这是我在 CentOS 7 中解决的方法

删除mongodb扩展:

pecl uninstall mongodb

安装 openssl

sudo yum install openssl-devel

重新安装 MongoDB 扩展

pecl install mongodb