Linux系統中PHP安裝配置MongoDB資料庫連接擴充步驟

來源:互聯網
上載者:User

說明:

作業系統: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,如下圖所示:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.