php5.6-mongodb3.6.3-安裝使用記錄

在Linux上安裝php的拓展的思路大同小異,這次通過安裝php-mongodb拓展的實例拋磚引玉暗赶,讓大家接觸一下這方面的知識。

思路

  • 安裝應(yīng)用
  • 安裝php拓展
  • 封裝操作類庫
  • 使用案例
  • 總結(jié)

服務(wù)器環(huán)境

  • centos 7.2
  • php 5.6
  • Thinkphp 3.2

安裝應(yīng)用

安裝應(yīng)用肃叶,一般推薦去相對應(yīng)的官網(wǎng)下載最新的stable 版本蹂随。一方面官網(wǎng)上的源碼包一般都有對應(yīng)的md5值或者sha1值,這個可以保證了數(shù)據(jù)包的完整性和安全性因惭;另一方面官網(wǎng)上各種安裝教程都是最新有效的岳锁。

download

我們點(diǎn)擊進(jìn)入mongodb的下載頁面。這里插一句蹦魔,Linux安裝軟件有三種方式激率,一種是包管理工具安裝,另一種是軟件倉庫版姑,還有一種是源碼包安裝柱搜。如上圖就是需要下載mongodb的源碼包,通過源碼包編譯安裝的剥险。如上圖聪蘸,我們可以選擇自己對應(yīng)的操作系統(tǒng),然后選擇操作系統(tǒng)對應(yīng)的分支表制,最后下載對應(yīng)的源碼包健爬。
但是我們一般推薦使用YUM軟件倉庫安裝,軟件倉庫是為了進(jìn)一步降低軟件安裝難度和復(fù)雜度而設(shè)計的技術(shù)么介,為了解決軟件包之間的依賴關(guān)系娜遵。我們可以看到上圖中有Instructions for installing with yum,點(diǎn)擊進(jìn)去可看到

yum-install

我們根據(jù)上圖中的指導(dǎo):

  1. 新建一個/etc/yum.repos.d/mongodb-org-3.6.repo文件壤短,填充內(nèi)容如下
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
  1. 執(zhí)行一下命令
sudo yum install -y mongodb-org
  1. 安裝完畢后设拟,開啟mongodb服務(wù)慨仿,接著嘗試連接mongodb數(shù)據(jù)庫
sudo service mongod start
mongo --host 127.0.0.1:27017
  1. 如果一切順利,結(jié)果如下圖:
link-mongodb

到此纳胧,我們完成了mongodb的安裝了镰吆。

安裝php拓展

接下來,就是需要安裝php-mongodb拓展,我們先下載解壓

git clone https://github.com/mongodb/mongo-php-driver.git

然后進(jìn)入拓展包目錄跑慕,接著源碼包編譯安裝這個拓展万皿。源碼包安裝linux軟件的命令原理可以參考這篇文章

cd mongo-php-driver
### 實踐證明,php5.6需要更新子模塊核行,下載完整的文件
git submodule update --init
phpize
./configure
make
sudo make install
####檢測拓展安裝是否的命令牢硅。如出現(xiàn)下圖,代表OK芝雪!
php -m | grep mongodb
extention

至此减余,php-mongodb的安裝完畢。

封裝操作類庫

mongodb之前有了好幾次重大的更新绵脯,所以一些php框架集成的mongodb的類庫兼容不好佳励。mongodb官方也意識到這個問題,所以官方自己出了個類庫蛆挫,而且支持composer安裝赃承。只要將

"mongodb/mongodb": "1.0.2"

添加到項目的composer.json的require對象中就行,然后再項目目錄下執(zhí)行

composer update

等待更新完畢就OK悴侵,此時我們就可以在項目使用mongodb了瞧剖。

使用案例

我們參考mongodb官方的建議案例,并結(jié)合我們自己使用的TP框架可免,可以用來存儲OA的用戶行為抓于。
大概實現(xiàn)如下

  1. 安裝robo 3Tmongodb的GUI客戶端,建立一個test數(shù)據(jù)庫浇借,在test數(shù)據(jù)庫下建立一個名為test的collections捉撮,為test數(shù)據(jù)庫添加一個用戶,用戶名:root,密碼:root,詳細(xì)命令參考官網(wǎng)文檔妇垢。最后修改mongodb的配置文件/etc/mongod.conf巾遭,使它支持安全驗證

  2. 在Application/Common/Conf/tags.php中為action_begin這個標(biāo)志位添加一個行為

  <?php
    return array(
        //本地沒有mongodb可以注釋掉下面這行
        'action_begin'=>array('Home\\Behaviors\\LogAnyThingsBehavior'),
    );
  1. 然后在相對應(yīng)位置創(chuàng)建一個Home/Behaviors/LogAnyThingsBehavior.class.php文件
<?php
namespace Home\Behaviors;
use Think\Behavior;
class LogAnyThingsBehavior extends Behavior{

  /** 行為 : 記錄用戶行為
   * @param mixed $param
   */
  public function run(&$param){
          //獲取行為信息
            $data['user_id'] = session('user_uid_yz');
            $data['username'] = session('user_yz');
            $data['ip'] = $_SERVER['REMOTE_ADDR'];
            $data['class'] = CONTROLLER_NAME;
            $data['function'] = ACTION_NAME;
            $data['create_time'] = date("Y-m-d H:i:s",time());
            $mongo = (new \MongoDB\Client("mongodb://root:root@127.0.0.1/test"));
            $collection = $mongo ->selectCollection("test","test");
            $insertOneResult = $collection->insertOne($data);
          }
}
?>
  1. 然后就可以登錄項目網(wǎng)站,點(diǎn)擊瀏覽下網(wǎng)頁闯估。就可以在robo 3T客戶端中看到日志數(shù)據(jù)了
out

總結(jié)

至此灼舍,我們的目標(biāo)基本完成了。php的其他拓展也大概是這個思路涨薪。希望對大家有幫助骑素。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市刚夺,隨后出現(xiàn)的幾起案子献丑,更是在濱河造成了極大的恐慌末捣,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件创橄,死亡現(xiàn)場離奇詭異塔粒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)筐摘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來船老,“玉大人咖熟,你說我怎么就攤上這事×希” “怎么了馍管?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長薪韩。 經(jīng)常有香客問我确沸,道長,這世上最難降的妖魔是什么俘陷? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任罗捎,我火速辦了婚禮,結(jié)果婚禮上拉盾,老公的妹妹穿的比我還像新娘桨菜。我一直安慰自己,他們只是感情好捉偏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布倒得。 她就那樣靜靜地躺著,像睡著了一般夭禽。 火紅的嫁衣襯著肌膚如雪霞掺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天讹躯,我揣著相機(jī)與錄音菩彬,去河邊找鬼。 笑死蜀撑,一個胖子當(dāng)著我的面吹牛挤巡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酷麦,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼矿卑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沃饶?” 一聲冷哼從身側(cè)響起母廷,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤轻黑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后琴昆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體氓鄙,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年业舍,在試婚紗的時候發(fā)現(xiàn)自己被綠了抖拦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡舷暮,死狀恐怖态罪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情下面,我是刑警寧澤复颈,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站沥割,受9級特大地震影響耗啦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜机杜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一帜讲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧叉庐,春花似錦舒帮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至枉阵,卻和暖如春译红,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背兴溜。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工侦厚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拙徽。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓刨沦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親膘怕。 傳聞我的和親對象是個殘疾皇子想诅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容