首页  >  文章  >  php教程  >  MongoDB与php的配合使用 【windows版】

MongoDB与php的配合使用 【windows版】

WBOY
WBOY原创
2016-06-06 19:42:361358浏览

通过学习了如何 使用 和部署MongoDB,尝试了一下如何将mongodb应用到php的程式中去。 1.预备工作 首先得准备好mongodb,并按照相关方法部署以及服务能正常运行中。 对于初学者,可以参考码农的教程,写得非常详细与实用。 参考方法与教程:http://www.cnblogs.

通过学习了如何使用和部署MongoDB,尝试了一下如何将mongodb应用到php的程式中去。

1.预备工作

   首先得准备好mongodb,并按照相关方法部署以及服务能正常运行中。

   对于初学者,可以参考‘码农’的教程,写得非常详细与实用。

   参考方法与教程:http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html

 

   d:\mongodb\bin>net start MongoDB

   php与apache环境的准备

   要是比较的懒,可以去XAMPP下一个一体化安装包,包括php/apache/mysql等,并且环境已经是集成了的。只需要向htdocs/下面放php程序就可以访问。

   XAMPP地址:http://www.apachefriends.org/zh_cn/xampp-windows.html (完整的安装与应用)

 

   mongodb 的 drivers,就是一些动态链接库文件。

   地址:https://s3.amazonaws.com/drivers.mongodb.org/php/index.html

  

2.mongodb与php的集成

 (1).找到xampp中的ext目录:

   比如我的是安装在D盘: D:\xampp\php\ext

   (2).将下载的动态链接库文件copy到上面的目录D:\xampp\php\ext

        php_mongo-1.4.5-5.5-vc11.dll  copy to D:\xampp\php\ext

   (3).修改php.ini的配置

       位置:D:\xampp\php.ini

       用编辑器打开此文件,找到  ; Windows Extensions

       并在此块的最后添加一行配置(约:1033行的位置)

       extension=php_mongo-1.4.5-5.5-vc11.dll

       保存,并重启Apache服务。

 3.调试与调用

    在xampp/htdocs/下面写一个test.php   ,

   

<span>php

</span><span>phpinfo</span><span>();

</span>?>

 

 

 

    在浏览器上运行此test.php,如果可以找到配置项,

   

mongo

 

MongoDB Support enabled
Version 1.4.5
SSL Support enabled
Streams Support enabled

 

Directive Local Value Master Value
mongo.allow_empty_keys 0 0
mongo.chunk_size 262144 262144
mongo.cmd $ $
mongo.default_host localhost localhost
mongo.default_port 27017 27017
mongo.is_master_interval 15 15
mongo.long_as_object 0 0
mongo.native_long 0 0
mongo.ping_interval 5 5

 

    则证明,mongodb已经与php集成在一起了。

 

    可以写个小程序测试一下:

   

<span>php

</span><span>//</span><span>我的mongodb是安装在本机,并且<strong>使用</strong>的是2222端口。
//mongodb://$server-path or $ip-address:$port</span>
<span>$client</span> = <span>new</span> MongoClient("mongodb://127.0.0.1:2222"<span>);

</span><span>//</span><span>select test database and select person records.</span>
<span>$collection</span> = <span>$client</span>->test-><span>person;

</span><span>$result</span> = <span>$collection</span>-><span>findOne();
</span><span>var_dump</span>(<span>$result</span><span>);


</span><span>//</span><span>NULL


//从浏览器上看到的结果为:NULL</span>


<span>$array</span> = <span>array</span><span>(
            </span>'name'=>'test',
            'age'=>25,
            'address'=><span>array</span><span>(
                        </span>'province'=>'guangdong',
                        'city'=>'shenzhen',
                        'zone'=><span>array</span><span>(
                            </span>'area'=>'nanshan',
                            'local'=>'xilili'<span>)
                        )
        );
</span><span>$ret</span> = <span>$collection</span>->insert(<span>$array</span><span>);
</span><span>var_dump</span>(<span>$ret</span><span>);

</span><span>//</span><span>结果为:</span>
<span>array</span>(4<span>) {
  [</span>"n"]=><span>
  int(</span>0<span>)
  [</span>"connectionId"]=><span>
  int(</span>2<span>)
  [</span>"err"]=>
  <span>NULL</span><span>
  [</span>"ok"]=>
  <span>float</span>(1<span>)
}


</span><span>$res</span> = <span>$collection</span>-><span>findOne();
</span><span>var_dump</span>(<span>$res</span><span>);
</span><span>//</span><span>结果为:</span>
<span>array</span>(4<span>) {
  [</span>"_id"]=>
  <span>object</span>(MongoId)<span>#</span><span>7 (1) {</span>
    ["<span>$id</span>"]=>
    <span>string</span>(24) "52d605b0a6b9f6581000002b"<span>
  }
  [</span>"name"]=>
  <span>string</span>(4) "test"<span>
  [</span>"age"]=><span>
  int(</span>25<span>)
  [</span>"address"]=>
  <span>array</span>(3<span>) {
    [</span>"province"]=>
    <span>string</span>(9) "guangdong"<span>
    [</span>"city"]=>
    <span>string</span>(8) "shenzhen"<span>
    [</span>"zone"]=>
    <span>array</span>(2<span>) {
      [</span>"area"]=>
      <span>string</span>(7) "nanshan"<span>
      [</span>"local"]=>
      <span>string</span>(6) "xilili"<span>
    }
  }
}

</span><span>//</span><span>由mongo的客户端直接查看db也可以看到</span>
d:\mongodb\bin>mongo 127.0.0.1:2222

><span>use</span><span> test
</span>>db.person.find()

 

 

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn