2013-05-17 55 views
0

我在我的Mac OSX中使用XAMPP。我已安裝mongodb並將.so文件複製到xampp插件文件夾中。頁面的我的phpinfo()顯示已安裝的MongoDB部分。運行MongoDB和PHP的Apache

後,我開始Apache of XAMPP服務器,當我的代碼

m = new MongoClient(); 
$db = $m->mydatabase; 
$collection = $db->myCollection; 

它說一些Fatal Error

如果我在Terminal窗口運行mongod命令窗口,它的工作。那麼在XAMPP服務器中安裝mongodb有什麼用處。我的問題是

  1. 爲什麼它的工作是這樣的..?
  2. 當我們啓動Apache服務器時,有什麼辦法可以啓動mongod

回答

2

爲什麼它的工作是這樣的..?

安裝PHP驅動程序和MongoDB服務器是兩件完全不同的事情。

這是非常基本的驅動程序的東西;您需要一個庫或通信層,可以將您的PHP編程路由到MongoDB服務器(基本上)。

當我們啓動Apache服務器時,有什麼辦法可以啓動mongod嗎?

你可以做一個sh腳本,看起來像:

/etc/init.d/xammp_service_dunno_what_it_is_called start 
/etc/init.d/mongodb start 

然後你可以只連接到啓動,甚至更好,你可以直接連接兩個服務(XAMPP和MongoDB)到啓動你的電腦。

但據我所知,當操作系統檢測到您已經開始運行Apache時,無法創建一種觸發機制來加載MongoDB。

+0

謝謝@Sammaye。還有一個疑問,我的計劃是在我的家庭服務器上託管我的網站。那一次,我是否需要運行Apache和MongoDB服務器來運行我的PHP應用程序。 – arthankamal

+0

@ arthan.v是的,他們需要在單獨的機器上運行,PHP可以與外部MongoDB對話,也可以在臥室的同一臺機器上進行內部操作 – Sammaye