zoukankan      html  css  js  c++  java
  • 关于在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。

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

  • 相关阅读:
    swoole学习(四):websocket
    LeetCode--SQL 查询:体育馆的人流量
    LeetCode--SQL 查询:有趣的电影
    centos7下mysql5.7忘记密码
    LeetCode--SQL 查询:删除重复的电子邮箱。
    swoole学习(三):HTTP服务
    swoole学习(二):TCP/UDP服务器-客户端
    swoole学习(一):初识swoole
    LeetCode--SQL 查询:查找部门工资前三高的职员
    报文、报文段、分组、包、数据报、帧、数据流的概念区别
  • 原文地址:https://www.cnblogs.com/patf/p/5120889.html
Copyright © 2011-2022 走看看