Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP userland库连接到支持SSL的MongoDB?_Php_Mongodb_Mongodb Php - Fatal编程技术网

如何使用PHP userland库连接到支持SSL的MongoDB?

如何使用PHP userland库连接到支持SSL的MongoDB?,php,mongodb,mongodb-php,Php,Mongodb,Mongodb Php,我正在使用PHP userland库,可以在这里找到: ,文件载于: 如何提供SSL选项以及使用哪个构造函数?我假设MongoDB/Client,但文档很少。 我在服务器上有常用的;CA文件、服务器证书和私钥文件,其中net.ssl设置为requireSSL 所以,如果有人尝试过任何东西,如果你能列出有效的方法,那就太好了 更新 大量的谷歌搜索把我带到了网上。我只能成功连接mongo shell,但绝对不能通过php库。我在Centos7上使用MongoDB 3.2.1 此外,我看到,客户机证书

我正在使用PHP userland库,可以在这里找到: ,文件载于:

如何提供SSL选项以及使用哪个构造函数?我假设MongoDB/Client,但文档很少。 我在服务器上有常用的;CA文件、服务器证书和私钥文件,其中net.ssl设置为requireSSL

所以,如果有人尝试过任何东西,如果你能列出有效的方法,那就太好了

更新 大量的谷歌搜索把我带到了网上。我只能成功连接mongo shell,但绝对不能通过php库。我在Centos7上使用MongoDB 3.2.1

此外,我看到,客户机证书需要x509证书中的两个额外字段[keyUsage=digitalSignature,extendedKeyUsage=clientAuth],如上所述。现在,虽然这不是不可能的,但在我看来,这不是一种非常易于管理或可扩展的实现方式


我还发现了一件奇怪的事情,即最终客户端证书中的CN必须是“localhost”。不能省略最后一个句号。因此--host参数必须是“localhost.”(不仅仅是localhost),否则验证将失败。但是,如果您试图创建一个CN仅作为本地主机的证书,您将永远无法连接到服务器,每次验证都会失败。

一个简单的解决方案是使用。@MarkusWMahlberg我只是不想引入更多移动部件,希望我能简单地完成这项工作。当前的实现使用编译后的2.6版本来支持SSL/TLS和遗留php库,因此我们必须对其进行更新。无论如何,谢谢你的提示。:)一个简单的解决方法是使用。@MarkusWMahlberg我只是不想引入更多的运动部件,希望我能简单地完成这项工作。当前的实现使用编译后的2.6版本来支持SSL/TLS和遗留php库,因此我们必须对其进行更新。无论如何,谢谢你的提示。:)