2011年12月10日 星期六

mongoDB setup php module

上一篇簡單的試了一下mongoDB

接著這篇我們用PHP做為我的開發環境

在官網中 http://www.mongodb.org/display/DOCS/PHP+Language+Center

主要就是把mongoDB的modue加到php的extension上

目前選擇了mac做為安裝環境

於是再參考了

http://www.php.net/manual/en/mongo.installation.php#mongo.installation.osx

報行了 

sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo 


(當然要先安裝XAMPP,XAMPP會先預裝pecl可以減少安裝的 pecl的麻煩) 


不過遇到了一個錯誤


running: phpize-5.3.1



sh: phpize-5.3.1: command not found



ERROR: `phpize' failed



從網上找了大部都說是要使用PHP5-DEV,看起來都是太舊的資訊了



在 /Applications/XAMPP/xamppfiles/bin/ 裡也有了phpize-xxx的檔案



phpize會去讀取 .m5做為build的規則



於是到pecl官網直接抓取tar包 http://pecl.php.net/get/mongo-1.2.6.tar



tar開後(tar zxvf mongo-1.2.6.tar)看到其目錄有一個 .m5的檔案



先行使用phpize去執行build的動作



不過仍又在遇到另一個問題,再來出現的是找不到相關的header file



grep: /Applications/XAMPP/xamppfiles/include/php/php-5.3.1/php/main/php.h: No such file or directory



grep: /Applications/XAMPP/xamppfiles/include/php/php-5.3.1/php/Zend/zend_modules.h: No such file or directory



grep: /Applications/XAMPP/xamppfiles/include/php/php-5.3.1/php/Zend/zend_extensions.h: No such file or directory



Configuring for:



PHP Api Version:       



Zend Module Api No:    



Zend Extension Api No:




接著看到其實這的包裡有一般unix的build的內容



所以立即執行




  1.    ./configure 


  2.    ./make



完成後在build的目錄下即可找到mongo.so的lib了



最後把這個檔案複製至  Lib下



再把 php.ini在 extesion段加上  extension=mongo.so再重啟apache即可 



在php的code裡



$conn = new Mongo()



echo   ‘conn’. $conn;



即可正確印出  connection id



記得要把 mongoDB啟動(mongod)

沒有留言:

張貼留言