Home  >  Article  >  php教程  >  MongoDB与php的配合使用 【windows版】

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

WBOY
WBOYOriginal
2016-06-06 19:42:361358browse

通过学习了如何 使用 和部署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()

 

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn