今天来学习下mongodb,在装PHP扩展的时候本来是一个很轻松的事情,结果并不是我想想的那么简单。

我的集成环境是xampp的php版本是5.6的x86.我开启了安全模式,所以我需要mongo时ts的安全模式扩展的x86扩展这些都不是很复杂。但是当我将下载好的扩展放入ext目录下后在php.ini中开启扩展后。重启apache竟然在phpinfo里面找到mongo的扩展信息、

经过自己的反复排除,无果。主要是apache的错误log竟然不报错误。php.ini中开启mongo不管有没有都不会报错。无奈之下我又测试了下wamp环境。也是如此;今天到公司里面找到我们技术老大。竟然分分钟给我搞定了。我除啦在用崇拜的眼光盯着我们老大外。还有一些对自己的思考。这就是差距。相同的时间里人家可以做很多事情。并不是人家偷懒是因为我们都拖累了他们。哎!

解决的方法。是环境变量。我在环境变量PATH中加入了D:/xampp/php/ext/;D:/xampp/php/;

这里付上我的下载链接:

https://www.mongodb.org/downloads

选择扩展的版本需要注意的是  你1.当前php的版本 2.以及你的phpinfo()中Thread Safety 的设置enabled(开启)选择 ts版本的 disabled(关闭)选择nts版本的 3.查看你的环境是32位的装x86;64位的装x86_64的。

将扩展重命名php_mongo.dll  放入到php/ext 目录下  并在php.ini文件中开启extension=php_mongo.dll .重启apache 查看 phpinfo() 中是否有。

OK本来是一个愉快的礼拜天,由于这个小小的问题。党务了很多事情。也验证了一句话,   理论和做东西是两码事。

承接上文,在安装的时候还遇到一个疑惑的问题,那就是mongo有两个php扩展。一个是php_mongodb.dll 和php_mongo.dll。以前这个两个扩展是区分的,在php的在线手册里面可以看到数据库扩展里面mongo占用了两个选项 一个是mongo 另一个就是mongodb官方的解释是 mongo用来做扩展的数据处理函数。mongodb是用来做mongo的debug用的。也就是调试工具用的。但显得最新的版本已经找不到关于mongodb的扩展了。我猜测是已经将mongo的debug函数合并到了mongo.dll扩展里面去了。但是php为了更好的兼容性。在php.ini文件中只要你的扩展版本与php的符合 那么php还是支持mongodb的扩展的。而在新的php5.6.16中已经将这两个合并了。优先解析php.ini文件中的 mongo.dll扩展。如果没有那么也会解析mongodb.dll的扩展。但是在phpinfo()的页面已经看不见关于mongodb的扩展了。只会显示mongo 。换句话说就是无论是mongo.dll还是mongodb.dll都会显示为mongo但优先考虑mongo.dll。

研究终于明朗了。其实作为程序猿来说,不需要细究这些问题。但由于本人以前是做运维出身,对于这些问题还是喜欢追究下。纯属扯淡。

关于在windows上的wamp集成环境和xampp上安装mongo扩展的更多相关文章

  1. php Windows系统 wamp集成环境下redis的使用

    先说一下我的本地环境,使用的是wamp集成环境,(Apache 2.4.9.PHP 5.5.12.MySQL 5.6.17) windows下安装PHP扩展: 第一步:找到扩展文件(.dll),htt ...

  2. WAMP集成环境的安装

    暑假已经正式开始,我的学习计划也开始有了初步的进展,今天学习的主要内容是PHP的基础知识,以及在电脑上面安装了集成的WAMP(Windows+Apache+MySQL+PHP). PHP的基础知识: ...

  3. wamp集成环境 开启rewrite伪静态支持

    什么是伪静态 伪静态就是:动态网页通过重写URL的方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面. 伪静态的目的 最主要的就是迎合搜索引擎方便搜索引擎蜘蛛(Spider) ...

  4. wamp集成环境开启rewrite伪静态支持

    wamp集成环境在安装完后,默认是没有开启伪静态的,所以有时把项目部署进去时如果源码里包含.htaccess文件的话,可能会出现500错误,这一般是因为不支持伪静态造成的,解决这个问题的办法就是开启伪 ...

  5. WAMP集成环境更改web根目录

    使用WAMP集成环境,如何更改web根目录 做php开发使用WAMP集成环境的同学大部分有过这样的经历:如果你试图修改web根目录,那么你肯定会想到要修改apache/apache2.2.11/con ...

  6. php集成环境和自己配置的区别,php集成环境、php绿色集成环境、php独立安装版环境这三者的区别

    最近有学生问我,直接使用PHP集成环境和我们自己独立安装的php环境有什么不一样吗? 答:PHP集成环境,和自己安装的php环境实际上没啥区别的,只不过大部分的集成环境进行了一些绿化操作,本质上没啥区 ...

  7. 在wamp集成环境下安装laravel5.2.*框架

    虽然官方一直强烈推荐使用homestead,但是这个相对麻烦一点,所以我还是选择使用wamp集成开发环境.还有这里我只讲解windows系统下的安装,其他例如mac或linux就不写了,此文章是面向刚 ...

  8. wamp集成环境下帝国备份出错

    我在本地wamp环境下面使用帝国备份王时,报错信息如下: Parse error: syntaxerror, unexpected $end in D:wampwwwhuifuclassfunctio ...

  9. IntelliJ IDEA for Mac(Java 语言开发的集成环境)破解版安装

    1.软件简介    IntelliJ IDEA 是 macOS 系统上一款 java 语言开发的集成环境,IntelliJ 在业界被公认为最好的 java 开发工具之一,尤其在智能代码助手.代码自动提 ...

随机推荐

  1. 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞

    3578: GTY的人类基因组计划2 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 367  Solved: 159[Submit][Status][ ...

  2. wpf中textbox与textblock有什么区别

    textbox是windows.form控件,textblock是WPF控件. 功能类似,但后者功能更强,也节省系统资源 wpf是基于directx技术的系统,向后兼容性更好. textblock只用 ...

  3. ecshop /flow.php SQL Injection Vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 ECSHOP的配送地址页面网页没有验证地区参数的有效性,存在sql注入漏 ...

  4. 使用PreApplicationStartMethodAttribute

    第一次见到这个东西是在公司的框架里,刚开始还挺郁闷怎么框架的Application_Start里没东西,初始化的那些代码都哪去了,后来通过一些线索找到了PreApplicationStartMetho ...

  5. CentOS7安装mongoDB数据库

    CentOS7安装mongoDB数据库 时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次 mongoDB是目前发展比较好的NOSQL数据 ...

  6. iOS - libc++abi.dylib: terminate_handler unexpectedly threw an exception

    代码出现crash,报错:libc++abi.dylib: terminate_handler unexpectedly threw an exception 当我们很明确是某一块代码执行导致了错误, ...

  7. rhino(犀牛) --- color control

    create color materials, if "材料赋予方式" is "图层", the color of "材质" is show ...

  8. Change MYSQL data directory

    For example, change mysql data directory from /var/lib/mysql to /var/data/mysql Step1: Copy the /var ...

  9. 使用Keil uVision下载hex文件

    在uVision3/uVision4/uVision5中,可以创建一个项目用来下载HEX文件到flash里面. 具体步骤如下: 1.  在菜单中,选择 Project - New Project... ...

  10. map遍历方法

    java中遍历MAP的几种方法 Java代码 Map<String,String> map=new HashMap<String,String>();    map.put(& ...