說明:
作業系統:CentOS 5.X 64位
MongoDB資料庫伺服器:
IP地址:192.168.21.130
Web伺服器:
IP地址:192.168.21.127
PHP安裝路徑:/usr/local/php
實現目的:
安裝PHP的MongoDB資料庫擴充,通過PHP程式串連MongoDB資料庫
具體操作:
一、安裝PHP的MongoDB資料庫擴充(在Web伺服器192.168.21.127上操作)
下載地址:http://pecl.php.net/get/mongo-1.5.1.tgz
上傳mongo-1.5.1.tgz到/usr/local/src目錄
tar zxvf mongo-1.5.1.tgz #解壓
cd mongo-1.5.1
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make #編譯
make install #安裝,完成之後出現下面的介面
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
vi /usr/local/php/etc/php.ini #編輯,在最後一行添加下面的代碼
extension="mongo.so"
:wq! #儲存退出
service php-fpm reload #重新載入php-fpm
在網站根目錄下添加php測試頁面
vi /usr/local/nginx/html/phpinfo.php #編輯
<?php
phpinfo();
?>
:wq! #儲存退出
開啟上面的頁面,http://192.168.21.127/phpinfo.php
如下圖所示:
二、建立測試資料庫(在MongoDB資料庫伺服器操作)
在mongodb上執行
cd /usr/local/mongodb/bin/
./mongo #進入資料庫
#建立資料庫:osyunweidb,在資料庫中建立表,插入資料
use osyunweidb #建立資料庫osyunweidb 如果什麼都不操作離開的話,這個庫就會被系統刪除
db.createCollection("osyunweidb_table") #建立表osyunweidb_table
show collections #查看
db.osyunweidb_table.insert({uid:1,name:"系統營運",url:"http://www.osyunwi.com",content:"系統營運官方網站"}) #插入資料到表osyunweidb_table中
db.osyunweidb.find();
show dbs
三、建立資料庫帳號(在MongoDB資料庫伺服器操作)
===============================================================
1、MongoDB資料庫預設沒有使用者名稱和密碼,只要串連上服務,就能登入,進行所有操作。
2、可以通過設定檔設定,開啟登入驗證功能。
3、只有切換到admin資料庫,添加的帳號才是管理員帳號。
4、管理員帳號可以對MongoDB伺服器所有資料庫進行管理(但是:預設只能管理自己的admin資料庫,要管理其他資料庫,需要先在admin資料庫中進行認證)
===============================================================
#添加普通帳號
cd /usr/local/mongodb/bin/
./mongo #進入資料庫
use osyunweidb
db.addUser('osyunweidbuser','123456') #帳號:osyunweidbuser 密碼:123456 許可權:讀寫
#db.addUser('osyunweidbuser','123456',true) #帳號:osyunweidbuser 密碼:123456 許可權:唯讀
db.auth('osyunweidbuser','123456') #添加使用者認證
exit #退出
#添加管理員帳號
cd /usr/local/mongodb/bin/
./mongo #進入資料庫
show dbs #列出所有資料庫
use admin #切換到admin資料庫,添加的帳號才是管理員帳號。
show collections
db.system.users.find()
db.addUser('root','123456') #添加管理員帳號:root 密碼:123456
db.auth('root','123456') #添加管理使用者認證,認證之後才能管理所有資料庫
exit #退出
###############################################################
#刪除資料庫、刪除表操作
cd /usr/local/mongodb/bin/
./mongo
use osyunweidb #進入資料庫
db.dropDatabase() #刪除資料庫
db.osyunweidb_table.drop() #刪除表
db.removeUser('osyunweidbuser') #刪除使用者
###############################################################
四、設定MongoDB設定檔,開啟登入驗證功能(在MongoDB資料庫伺服器操作)
vi /usr/local/mongodb/mongodb.conf #編輯設定檔
auth=true #開啟認證
:wq! #儲存配置
service mongod stop #停止
service mongod start #啟動
cd /usr/local/mongodb/bin/
./mongo -uosyunweidbuser -p123456 127.0.0.1:27017/osyunweidb #進入mongodb控制台
exit #退出
cd /usr/local/mongodb/bin/
./mongo -uroot -p123456 127.0.0.1:27017/admin
db.system.users.find()
use osyunweidb
show collections
exit #退出
五、php串連測試資料庫(在Web伺服器192.168.21.127上操作)
vi /usr/local/nginx/html/test.php
<?php
$mongo = new Mongo("192.168.21.130:27017"); #串連資料庫伺服器
$db = $mongo->selectDB('osyunweidb'); #串連資料庫
$db->authenticate("osyunweidbuser","123456"); #資料庫連接帳號和密碼
$collection = $db->selectCollection("osyunweidb_table"); #選擇資料庫中的表
$result = $collection->find(); #讀取資料
foreach($result as $value){ #輸出資料
print_r($value);
}
echo "<br>";
foreach($result as $value){
echo "序號:".$value["uid"]."<br>";
echo "網站名稱:".$value["name"]."<br>";
echo "URL:".$value["url"]."<br>";
echo "備忘:".$value["content"]."<br>";
}
$mongo->close();
?>
開啟頁面http://192.168.21.127/test.php如下圖所示,說明資料庫連接成功。
至此,Linux下PHP安裝配置MongoDB資料庫連接擴充完成。
擴充閱讀:
MongoDB資料庫用戶端工具
MongoVUE,如下圖所示: