Я использую linux (Ubuntu 15.04) для веб-проекта. Как-то мне удалось установить монгодб. Я создал пользователя, и я могу подключиться к базе данных через терминал.
Но когда я пытаюсь подключиться к БД через скрипт PHP, он дает эту ошибку:
Failed to connect to: 127.0.0.1:27017: Authentication failed on database 'user1' with username 'user1': auth failed
Версия Mongo Driver 1.5.7. Версия MongoDb 3.0.4
Также, когда я подключаюсь к базе данных через терминал, это дает мне следующие предупреждения:
MongoDB shell version: 3.0.4
connecting to: test
Server has startup warnings:
2015-06-19T18:08:20.354+0300 I CONTROL [initandlisten]
2015-06-19T18:08:20.354+0300 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2015-06-19T18:08:20.354+0300 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-06-19T18:08:20.354+0300 I CONTROL [initandlisten]
2015-06-19T18:08:20.354+0300 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-06-19T18:08:20.354+0300 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-06-19T18:08:20.354+0300 I CONTROL [initandlisten]
Но он принимает db.auth (имя пользователя, пароль) и auths успешно. Я могу использовать db. Но PHP не будет подключаться к базе данных.
Пожалуйста помоги. Я пытаюсь найти решение, но все говорят что-то другое, и никакое решение не работает. Я трачу часы, чтобы заставить его работать под Linux. Я ненавижу Linux, и я вернусь к окнам, если не найду решение.
Ответ Moppo решает проблему:
Проблема решена: это было вызвано проблемой/ошибкой в версии PHP mongo версии 1.4.
Я обновил драйвер до версии 1.6 с помощью:
pecl upgrade mongo
и теперь аутентификация работает.
благодаря