2011-06-28 17 views
0

我試圖在php中連接到mongodb。 如果mongodb在shell中啓動,使用mongod命令就沒有問題。PHP中的mongodb服務

new Mongo("mongodb://".$_host.":".$_port,true) 

但是,當我開始的MongoDB服務器作爲服務,我可以用蒙戈命令連接,但我不能在PHP連接。

new Mongo("mongodb://".$_host.":".$_port,true) 

是否還有其他參數? 我使用的是mongodb的最後一個版本和php的最後一個版本。

有人可以幫助我嗎?

+0

你正在運行什麼操作系統?你檢查過服務配置文件嗎? –

+1

我總是完成'$ mongo = new Mongo();'並使用默認設置。然後再次,我從來不必訪問另一個主機/端口上的數據庫。 – Eamorr

+0

我在Windows 7上,並檢查了服務配置文件,我什麼也沒找到。 – chafank

回答

0

感謝您的回答和評論,我解決它。

的問題是在服務命令行中,我使用這個命令

"C:\mongodb\bin\mongod" --bind_ip 127.0.0.1 --logpath "C:\data\db\mongodb.log" --logappend --dbpath "C:\data\db" --port 27100 --install 

,而不是

"C:\mongodb\bin\mongod" --bind_ip myIPadress --logpath "C:\data\db\mongodb.log" --logappend --dbpath "C:\data\db" --port 27100 --install 

在PHP代碼new Mongo("mongodb://".$_host.":".$_port,true),$主機= myIPadress

這就是爲什麼它是在命令行工作,而不是在PHP代碼中,它必須是相同的IP地址,不使用本地主機或類似的東西,如果你不使用默認new Mongo()

0

你的MongoDB服務的命令行參數是什麼?是否有可能指定了與手動運行mongod時默認獲得的配置不同的配置?您使用什麼參數將MongoDB作爲服務安裝?

+0

謝謝,那是我的問題,我解決它並在答案中解釋它。 – chafank