151*_*291 6 mongodb amazon-web-services laravel-5
使用 Laravel 5.4 和 Mongodb 3.6 连接到数据库时收到错误消息
The "SCRAM-SHA-1" authentication mechanism requires libmongoc built with --enable-ssl
它在具有相同版本的 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
Run Code Online (Sandbox Code Playgroud)
php-mongodb 驱动安装并更新到 php.ini,mongodb 也显示在 phpinfo() 中。
我们发现 phpinfo 禁用了 libmongoc ssl,这是问题吗?
我们如何启用它?
Jan*_*sen 12
在 Ubuntu 18.04 LTS、PHP 7.2.7 上
我必须安装一些额外的软件包:
sudo apt-get install -y libcurl4-openssl-dev pkg-config libssl-dev
Run Code Online (Sandbox Code Playgroud)
然后重新安装mongodb:
sudo pecl uninstall mongodb
sudo pecl install mongodb
Run Code Online (Sandbox Code Playgroud)
然后检查 SSL 是否已启用:
php -i | grep mongo
Run Code Online (Sandbox Code Playgroud)
/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
Run Code Online (Sandbox Code Playgroud)
对于那些在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也用过
错误,因为已禁用libmongoc SSL并且libmongoc Crypto来自 php-mongodb 驱动程序并通过以下命令启用。
sudo pecl7 config-set php_ini /etc/php.ini
Run Code Online (Sandbox Code Playgroud)
安装完mongodb驱动后sudo pecl7 install mongodb,我们应该进行上述设置。
现在运行良好。
| 归档时间: |
|
| 查看次数: |
7483 次 |
| 最近记录: |