mac OS版本为10.13.3。

PHP版本为7.1.16。

mongodb的PHP扩展的版本为1.4.3。

phpize路径为/usr/local/php/bin/phpize。

php-config路径为 /usr/local/php/bin/php-config。

1.首先下载php的mongodb扩展

从http://pecl.php.net/package/mongodb这个网址下载mongodb的扩展源码包(注意:不要从http://pecl.php.net/package/mongo下载,因为这个package已经过期),在命令行执行如下命令:

wget http://pecl.php.net/get/mongodb-1.4.3.tgz

2.解压安装包

 tar -zxvf  mongodb-1.4.3.tgz

3.进入解压目录,运行phpize,为安装扩展准备环境

 cd mongodb-1.4.3/usr/local/php/bin/phpize

4.安装编译mongodb的php扩展

第3步执行完成后,在当前目录下就生成了configure文件。接下来,使用./configure命令进行安装配置;然后,使用make && make install进行编译安装,命令如下:

 ./configure --with-php-config=/usr/local/php/bin/php-configmake && make install

5. 查看是否在PHP扩展目录中已经生成.so扩展文件

php -i | grep extension_dir //查看PHP扩展包存储目录,这里为extension_dir => /usr/local/lib/php/pecl/20160303 => /usr/local/lib/php/pecl/20160303
ls /usr/local/lib/php/pecl/20160303 //查看目录中是否有mongodb.so文件

6.编辑php.ini,在extension区域添加mongodb扩展

extension=mongodb.so

 注意:扩展的名称是mongodb.so,不是mongo.so。

7.查看PHP的mongodb扩展模块是否已经成功安装

php -m | grep mongodb

如果在直接结果中看到mongodb,就说明已经安装成功。

或着,重启php-fpm,然后执行phpinfo()方法。若看到mongodb的内容,则说明安装成功。

8. 在PHP中使用mongodb扩展

在安装完成PHP的mongodb的扩展后,在composer.json文件的require块中添加"mongodb/mongodb": "^1.4"。然后,再通过composer命令加载mongodb PHP版本客户端的扩展包,命令如下所示:

composer require mongodb/mongodb

结果报了如下的错误:

Using version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.Problem 1- mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.- mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.- mongodb/mongodb 1.4.1 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.- mongodb/mongodb 1.4.0 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb has the wrong version (1.4.3) installed.- Installation request for mongodb/mongodb ^1.4 -> satisfiable by mongodb/mongodb[1.4.0, 1.4.1, 1.4.2].To enable extensions, verify that they are enabled in your .ini files:- /usr/local/etc/php/7.1/php.ini- /usr/local/etc/php/7.1/conf.d/ext-opcache.iniYou can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, reverting ./composer.json to its original content.

分析发现,是安装的mongodb扩展版本太低。于是,改为1.5.3版本(mongodb-1.5.3.tgz),重新操作一遍,再次通过composer命令加载mongodb PHP版本客户端的扩展包,就好了。具体信息如下:

sing version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 12 updates, 1 removal- Removing aliyuncs/oss-sdk-php (v2.3.0)- Updating league/flysystem (1.0.48 => 1.0.49): Downloading (100%)- Installing ralouphie/getallheaders (2.0.5): Loading from cache- Updating guzzlehttp/psr7 (1.4.2 => 1.5.0):  Checking out 53662d6688- Installing symfony/contracts (v1.0.1): Downloading (100%)- Updating symfony/translation (v4.1.7 => v4.2.0):  Checking out ff9a878c9b- Updating nesbot/carbon (1.34.3 => 1.36.1):  Checking out 63da8cdf89- Updating symfony/dom-crawler (v4.1.7 => v4.2.0):  Checking out 7438a32108- Updating symfony/browser-kit (v4.1.7 => v4.2.0):  Checking out db7e59fec9- Updating symfony/console (v4.1.7 => v4.2.0):  Checking out 4dff24e5d0- Updating symfony/css-selector (v4.1.7 => v4.2.0):  Checking out aa9fa526ba- Updating symfony/event-dispatcher (v4.1.7 => v4.2.0):  Checking out 9b788b5f7c- Updating symfony/finder (v4.1.7 => v4.2.0):  Checking out e53d477d7b- Updating symfony/process (v4.1.7 => v4.2.0):  Checking out 2b341009cc- Updating symfony/yaml (v4.1.7 => v4.2.0):  Checking out c41175c801- Installing library/aliyun-oss-php-sdk (v2.3.0): Cloning 6e801c85b9 from cache- Installing mongodb/mongodb (1.4.2): Downloading (100%)- Installing justinrainbow/json-schema (5.2.7): Downloading (100%)
symfony/contracts suggests installing psr/cache (When using the Cache contracts)
symfony/contracts suggests installing psr/container (When using the Service contracts)
symfony/contracts suggests installing symfony/cache-contracts-implementation ()
symfony/contracts suggests installing symfony/service-contracts-implementation ()
Package phpunit/dbunit is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating autoload files

mac下PHP安装mongodb的扩展相关推荐

  1. 新mac 下第一次 安装 mongodb 步骤

    新入手mac,安装mongo步骤记录:不建议使用网上的brew安装方法,因为试了半天没有成功,应该是新版本限制比较多! 从mongodb官网下载mac版本mongo: 1.访问MongoDB官方下载地 ...

  2. Jmeter01 -mac下的安装

    其实,Jmeter 无论是在mac,win,linux下安装,基本步骤都是一样的. 本篇主要介绍在mac下的安装. Jmeter 安装步骤: 1.安装jdk 2.安装jmeter 安装jmeter版本 ...

  3. mac下快速安装php的各个版本

    原文地址: mac下快速安装php的各个版本,博主:think2me mac下其实已经安装好了PHP,而且版本还蛮新的,平时搞一搞开发,还是可以的,也没啥大问题,但是今天偶然发现一个验证码图片加载不了 ...

  4. Mac 下 fastlane 安装 以及常见错误处理

    Mac 下 fastlane 安装 以及常见错误处理 fastlane 流程化提包相关内容,这是我一路自己安装 以及给同事安装遇到的问题汇总 以及我找到的解决方案 记录一下 安装fastlane su ...

  5. Mac下Jekyll安装

    之前一直用Wordpress,虽然功能强大,各种插件各种bug,如果想弄个主题,折腾得要命.最近改用jekyll+gitHub免费空间.记录一下. 我用的是Mac,所以只讲述Mac下如何安装,Wind ...

  6. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题

    使用的mac OS 10.11  安装mysql后访问root/root用户失败,网上找了一些解决办法,下面记录下解决方法方便以后自己查询 概述(看懂下面就不用看了): 停服务:sudo /usr/l ...

  7. Mac OSX 平台安装 MongoDB

    Mac OSX 平台安装 MongoDB MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download ...

  8. Mac下新安装的MySQL无法登陆root用户解决方法

    Mac下新安装的MySQL无法登陆root用户解决方法 参考文章: (1)Mac下新安装的MySQL无法登陆root用户解决方法 (2)https://www.cnblogs.com/maxinlia ...

  9. mac下mysql安装,忘记初始临时密码怎么破。

    mac下mysql安装,忘记初始临时密码怎么破. 环境 采用安装包安装 MySQL 5.7 坑点 mysql安装包安装可以在系统设置里出现图标,brew安装的话不可以 mysql安装后忘记临时密码 m ...

最新文章

  1. CrazyWing:Python自动化运维开发实战 九、Python数据类型之列表
  2. C语言实现ternary search三分查找算法(附完整源码)
  3. 2013年7月新日本語能力試験N3文字部分
  4. 在linux系统中 用户的主目录可以不在,在Linux系统中,root用户的家目录是 答案:/root...
  5. Nginx 404 500
  6. 【Matlab学习笔记】【函数学习】nargin 参数
  7. ImportError: No module named rospy
  8. 基因组变异类型详解及区分
  9. 项目管理 : 项目管理技术的七大优势
  10. 开发人员和产品人员对接需求总结
  11. Kindle Paperwhite 越狱/加字体/支持PDF、EPUB、DjVu、FB2、CHM和DOC文档
  12. uniapp开发APP使用echart
  13. Java主要就业方向有哪些?
  14. wordpress框架图片上传
  15. excel拆分数据快捷操作
  16. signature=f14550b5daa7cd82f0637de3dae7c98d,来用百度密语吧!!!
  17. 【四足机器人】学习笔记 欧拉角与旋转矩阵之间的转化关系
  18. You are trying to add a non-nullable field 'code' to business without a default; we can't do that...
  19. yum install时提示This system is not registered with an entitlement server
  20. 【分享-一键在线抠图】在线免费去除图片背景

热门文章

  1. Silverlight 2.5D RPG游戏技巧与特效处理(Game Effects):目录
  2. 前端Vue项目中点击a标签实现下载文件到本地的功能
  3. [PowerBI]DAX虚拟连接函数:TREATAS()用法介绍
  4. 如何使用COM-Hunter检测持久化COM劫持漏洞
  5. C语言编程>第二十六周 ① 函数fun的功能是:将形参b所指数组中的前半部分元素的值和后半部分元素的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
  6. 网站发布一般步骤以及解决方法
  7. 结构动力学中的预应力模态分析 ——预应力模态
  8. INTERVAL函数的使用
  9. Ubuntu查找软件命令
  10. 2018清华计算机考研总结