PHP MongoDB Auth失败

时间:2015-06-19 15:42:30

标签: php linux mongodb ubuntu

我使用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。

1 个答案:

答案 0 :(得分:0)

Moppo的回答解决了这个问题:

  

问题解决了:很明显它是由PHP mongo驱动程序1.4版中的问题/错误引起的。

     

我已将驱动程序升级到版本1.6,其中包含:

     

pecl upgrade mongo

     

现在认证工作正常。

由于