使用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,这是问题吗?
我们如何启用它?
答案 0 :(得分:4)
错误,因为来自php-mongodb驱动程序的已禁用libmongoc SSL
和libmongoc 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