上一篇簡單的試了一下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的內容
所以立即執行
- ./configure
- ./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)
沒有留言:
張貼留言