• 【转】ubuntu 下安装mongodb php 拓展的方法


    按照上面的方法安装成功之后,写一个 mongodb 的php测试脚本,用来测试是否可以 正确连接上mongodb ,并查询结果。

    参考: http://php.net/manual/en/class.mongodb-driver-query.php

    参考: https://dba.stackexchange.com/questions/112386/whats-the-procedure-to-set-up-username-password-on-mongodb

    <?php
    $mongo = new MongoDBDriverManager('mongodb://joe:asdf@127.0.0.1:27017/test');
    
    $id           = new MongoDBBSONObjectId("5a914df2f69030dd45832355");
    $filter      = ['_id' => $id];
    //$filter      = [];
    $options = []; 
    
    $query = new MongoDBDriverQuery($filter, $options);
    $rows   = $mongo->executeQuery('test.mycollection', $query); 
    //var_dump($rows);
    foreach ($rows as $document) {
      var_dump($document);
    

      

    --------------------------------------------------------------------------------------------------------------------------

    linux下mongodb php驱动安装

    linux下使用php开发mongodb程序,需要安装php驱动,安装步骤如下:

    注:
    笔者(habadog1203)php的版本:5.2.10
    php目录:/home/work/php5210/

    (1)去github下载mongo-php-driver
    地址是:https://github.com/mongodb/mongo-php-driver
    笔者下载的版本是:mongodb-mongo-php-driver-1.2.2-23-g820dd82.tar.gz

    (2)解压到php的ext目录下
    笔者解压路径是:/home/work/php5210/ext/mongodb-mongo-php-driver-820dd82

    (3)到解压路径下执行phpize
    命令为:
    cd /home/work/php5210/ext/mongodb-mongo-php-driver-820dd82
    /home/work/php5210/bin/phpize
    目的是生成configure文件,请务必确认configure文件的生成

    (4)安装mongo.so
    命令为:
    cd /home/work/php5210/ext/mongodb-mongo-php-driver-820dd82
    ./configure
    make
    make install
    目的是生成mongo.so,请务必确认mongo.so的生成
    笔者的extensions目录为:/home/work/php5210/lib/php/extensions/no-debug-non-zts-20060613/
    其下正确生成了mongo.so

    (5)修改php.ini,添加mongo.so的扩展
    在php.ini里加入以下配置
    extension=mongo.so

    大功告成,可写程序测试与mongodb的交互了。

    注意点:
    (1)执行phpize需要系统安装autoconf,否则会提示”Cannot find autoconf”,症状为:
    Configuring for:
    PHP Api Version: 20041225
    Zend Module Api No: 20060613
    Zend Extension Api No: 220060519
    Cannot find autoconf. Please check your autoconf installation and the
    $PHP_AUTOCONF environment variable. Then, rerun this script.

    解决方案为:安装autoconf
    用root账号执行以下命令即可:
    yum -y install autoconf

    以上命令共安装两个软件包
    imake-1.0.2-3.i386.rpm
    autoconf-2.59-12.noarch.rpm

    当然,不用yum的话,也可以手动安装,命令为
    cd /usr/src
    wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
    tar -zvxf m4-1.4.9.tar.gz
    cd m4-1.4.9/
    ./configure && make && make install
    cd ../
    wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
    tar -zvxf autoconf-2.62.tar.gz
    cd autoconf-2.62/
    ./configure && make && make install

    (2)安装完autoconf后,phpize执行完能生成configure文件,执行./configure时,可能会报以下错误:
    configure: error: Cannot find php-config. Please use –with-php-config=PATH
    因为找不到php-config(例如,php是别处编译生成,拷贝到本地的)
    加入–with-php-config参数即可,如下:
    ./configure –with-php-config=/home/work/php5210/bin/php-config

    (3)以上步骤参见于php官网:
    http://www.php.net/manual/en/mongo.installation.php

  • 相关阅读:
    bzoj4758: [Usaco2017 Jan]Subsequence Reversal(区间dp)
    bzoj4580: [Usaco2016 Open]248(区间dp)
    1617: [Usaco2008 Mar]River Crossing渡河问题(dp)
    bzoj21012101: [Usaco2010 Dec]Treasure Chest 藏宝箱(滚动数组优化dp)
    P2339 提交作业usaco(区间dp)
    day11
    bzoj2330: [SCOI2011]糖果(差分约束)
    P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm(Tarjan+记忆化)
    P2700逐个击破(并查集/树形dp)
    bzoj1770: [Usaco2009 Nov]lights 燈(折半搜索)
  • 原文地址:https://www.cnblogs.com/oxspirt/p/8471705.html
Copyright © 2020-2023  润新知