У меня есть и старый драйвер mongo php 1.6.10, и установлен установленный драйвер php 1.2.5 mongodb. php версия 5.6.29 на Debian 8.php mongodb connect with x509
Как старый драйвер, так и поддерживаемый драйвер могут подключаться с использованием основных учетных данных.
Только старый драйвер может подключиться с помощью сертификата x509.
Поддерживаемый драйвер вызывает следующее исключение при попытке сделать простой findOne в коллекции.
PHP Fatal error: Uncaught exception 'MongoDB\Driver\Exception\RuntimeException' with message 'SCRAM Failure: invalid salt length of 0 in sasl step2'
Я использую библиотеку клиента MongoDB для водителя MongoDB http://php.net/manual/en/set.mongodb.php
Вот перефразировать код, я использую
<?php
$server = 'mongodb://uat-a:27017,uat-b:27017,uat-c:27017';
$options = [
'replicaSet' => 'rs-uat',
'username' => 'CN=my-user,OU=user,O=NA,L=Place,ST=State,C=GB',
'authMechanism' => 'MONGODB-X509',
'authSource' => '$external',
'ssl' => true,
'connect' => true,
];
$driverOptions = [
'context' => stream_context_create(
[
'ssl' => [
'local_cert' => '/etc/local-cert.pem',
'cafile' => '/etc/cafile.pem',
],
]
),
];
$database = 'uatdata';
$client = new MongoDB\Client($server, $options, $driverOptions);
$db = $client->selectDatabase($database);
$doc = $db->selectCollection('errors')->findOne([], ['projection' => ['timestamp' => 1, 'uri' => 1]]);