使用 Laravel 5.4 和 Mongodb 3.6 连接数据库时出现错误信息
“SCRAM-SHA-1”身份验证机制需要使用 --enable-ssl 构建的 libmongoc
它在具有相同版本的 ubuntu 16.04 中运行良好,但在 AWS Linux 中运行不佳。
已安装 LAMP [php70, apach24]:
已安装 Mongodb [3.6]:
为 php7 安装 php-mongodb 驱动:
sudo yum -y install php7-pear php70-devel gcc // completed
sudo pecl7 install mongodb // completed
sudo yum install openssl-devel // completed
安装了 php-mongodb 驱动程序并更新到 php.ini,mongodb 也在 phpinfo() 中显示。
我们发现 phpinfo 禁用了 libmongoc ssl,这是问题吗?
我们如何启用它?
最佳答案
在 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 bundled version => 1.11.0 libmongoc SSL => enabled libmongoc SSL library => OpenSSL libmongoc crypto => enabled libmongoc crypto library => libcrypto
重启php:
sudo service php7.2-fpm restart
关于mongodb - "SCRAM-SHA-1"认证机制需要使用 --enable-ssl 构建的 libmongoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50541607/