#php #mongodb
#php #mongodb
Вопрос:
Я пытаюсь установить соединение с удаленным хостом MongoDB через PHP. На сервере включена аутентификация с помощью имени пользователя и пароля. Я пытаюсь подключить его через MongoDBDriverManager
класс php. Но он не дает мне никакого ответа.
Я пытаюсь сделать это, используя следующий формат uri подключения:
mongodb://[username:password@]host[:port][/[database][?options]]
согласно https://www.php.net/manual/en/mongodb-driver-manager.construct.php
Но в переменной connection нет ответа, где я его получаю.
<?php
$conn = new MongoDBDriverManager("mongodb://USER:PASSWORD@HOST:PORT/admin")
var_dump($conn);
?>
В пароле нет специальных символов, кроме #. Также, когда я нажимаю этот URL-адрес непосредственно в командной строке, он выдает:
No such file or directory
Я думаю, что, согласно документации, этот формат uri соединения правильный, и он должен установить соединение. Но я как бы застрял здесь и не знаю, что делать дальше.
Комментарии:
1. Вы должны начать с установки и использования правильного драйвера. Смотрите Библиотеку PHP MongoDB . Должны использоваться соединения для любого кода, который вы пишете
MongoDBClient
. Обязательно прочитайте инструкции, поскольку для PHP установка драйвера состоит из двух частей. И имейте в виду, что вам необходимо установить сервер MongoDB или иметь доступ к существующему установленному серверу базы данных. URI подключения также не имеют ничего общего с файловой системой2. @NeilLunn, Mongodb установлен на сервере. И мне нужно получить доступ к существующему установленному серверу базы данных. Как я могу проверить, установлен ли mongodb для работы с php или нет (кроме оболочки)?
3. Например, когда я устанавливал его в локальной системе, я добавил расширение mongo в файл php.ini. Нужно ли мне реализовать то же самое?
4.Прочитайте ссылку. Вы используете неправильный драйвер. Вы установили только одну часть установки из двух частей. Ни один из ваших кодов не должен касаться
MongoDBDriver
напрямую.