我使用linux(Ubuntu 15.04)进行网络项目。不知怎的,我设法安装了mongodb。我创建了一个用户,我可以通过终端连接到数据库。
但是当我尝试通过PHP脚本连接到数据库时,会出现此错误:
Failed to connect to: 127.0.0.1:27017: Authentication failed on database 'user1' with username 'user1': auth failed
Mongo驱动程序版本是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(用户名,密码)并成功验证。我可以使用db。但PHP无法连接到数据库。
请帮忙。我试图找到解决方案,但每个人都说不同的东西,没有解决方案。我花了几个小时才使它在linux下工作。我讨厌linux,如果找不到解决方案,我会回到Windows。
答案 0 :(得分:0)
Moppo的回答解决了这个问题:
问题解决了:很明显它是由PHP mongo驱动程序1.4版中的问题/错误引起的。
我已将驱动程序升级到版本1.6,其中包含:
pecl upgrade mongo
现在认证工作正常。
由于