关于在windows上的wamp集成环境和xampp上安装mongo扩展
今天来学习下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扩展的更多相关文章
- php Windows系统 wamp集成环境下redis的使用
先说一下我的本地环境,使用的是wamp集成环境,(Apache 2.4.9.PHP 5.5.12.MySQL 5.6.17) windows下安装PHP扩展: 第一步:找到扩展文件(.dll),htt ...
- WAMP集成环境的安装
暑假已经正式开始,我的学习计划也开始有了初步的进展,今天学习的主要内容是PHP的基础知识,以及在电脑上面安装了集成的WAMP(Windows+Apache+MySQL+PHP). PHP的基础知识: ...
- wamp集成环境 开启rewrite伪静态支持
什么是伪静态 伪静态就是:动态网页通过重写URL的方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面. 伪静态的目的 最主要的就是迎合搜索引擎方便搜索引擎蜘蛛(Spider) ...
- wamp集成环境开启rewrite伪静态支持
wamp集成环境在安装完后,默认是没有开启伪静态的,所以有时把项目部署进去时如果源码里包含.htaccess文件的话,可能会出现500错误,这一般是因为不支持伪静态造成的,解决这个问题的办法就是开启伪 ...
- WAMP集成环境更改web根目录
使用WAMP集成环境,如何更改web根目录 做php开发使用WAMP集成环境的同学大部分有过这样的经历:如果你试图修改web根目录,那么你肯定会想到要修改apache/apache2.2.11/con ...
- php集成环境和自己配置的区别,php集成环境、php绿色集成环境、php独立安装版环境这三者的区别
最近有学生问我,直接使用PHP集成环境和我们自己独立安装的php环境有什么不一样吗? 答:PHP集成环境,和自己安装的php环境实际上没啥区别的,只不过大部分的集成环境进行了一些绿化操作,本质上没啥区 ...
- 在wamp集成环境下安装laravel5.2.*框架
虽然官方一直强烈推荐使用homestead,但是这个相对麻烦一点,所以我还是选择使用wamp集成开发环境.还有这里我只讲解windows系统下的安装,其他例如mac或linux就不写了,此文章是面向刚 ...
- wamp集成环境下帝国备份出错
我在本地wamp环境下面使用帝国备份王时,报错信息如下: Parse error: syntaxerror, unexpected $end in D:wampwwwhuifuclassfunctio ...
- IntelliJ IDEA for Mac(Java 语言开发的集成环境)破解版安装
1.软件简介 IntelliJ IDEA 是 macOS 系统上一款 java 语言开发的集成环境,IntelliJ 在业界被公认为最好的 java 开发工具之一,尤其在智能代码助手.代码自动提 ...
随机推荐
- 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞
3578: GTY的人类基因组计划2 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 367 Solved: 159[Submit][Status][ ...
- wpf中textbox与textblock有什么区别
textbox是windows.form控件,textblock是WPF控件. 功能类似,但后者功能更强,也节省系统资源 wpf是基于directx技术的系统,向后兼容性更好. textblock只用 ...
- ecshop /flow.php SQL Injection Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 ECSHOP的配送地址页面网页没有验证地区参数的有效性,存在sql注入漏 ...
- 使用PreApplicationStartMethodAttribute
第一次见到这个东西是在公司的框架里,刚开始还挺郁闷怎么框架的Application_Start里没东西,初始化的那些代码都哪去了,后来通过一些线索找到了PreApplicationStartMetho ...
- CentOS7安装mongoDB数据库
CentOS7安装mongoDB数据库 时间:2015-03-03 16:45来源:blog.csdn.net 作者:进击的木偶 举报 点击:8795次 mongoDB是目前发展比较好的NOSQL数据 ...
- iOS - libc++abi.dylib: terminate_handler unexpectedly threw an exception
代码出现crash,报错:libc++abi.dylib: terminate_handler unexpectedly threw an exception 当我们很明确是某一块代码执行导致了错误, ...
- rhino(犀牛) --- color control
create color materials, if "材料赋予方式" is "图层", the color of "材质" is show ...
- Change MYSQL data directory
For example, change mysql data directory from /var/lib/mysql to /var/data/mysql Step1: Copy the /var ...
- 使用Keil uVision下载hex文件
在uVision3/uVision4/uVision5中,可以创建一个项目用来下载HEX文件到flash里面. 具体步骤如下: 1. 在菜单中,选择 Project - New Project... ...
- map遍历方法
java中遍历MAP的几种方法 Java代码 Map<String,String> map=new HashMap<String,String>(); map.put(& ...