caoruiy‘s blog

Wisdom outweighs any wealth

MAC-MAMP安装MongoDB数据库-PHP扩展驱动

首先,扩展MongoDB数据库大概有两种方式,一种是使用命令快速安装,一种是自己下载源码包自己编译。

使用brew命令快速安装

brew是Mac下的一个安装命令,类似于大家熟悉的yum或者apt-get命令。但是这个brew命令Mac并不自带,需要自行安装。

如果不知道如何安装brew,可以参考官网:https://brew.sh/index_zh-cn.html 安装Homebrew。官网上说的很详细,不再赘述。

使用brew安装php5.x版本的mongodb扩展:

brew install homebrew/php/php55-mongodb

安装php5.5.x版本使用的驱动,如果想安装其他版本,参见下面的包名称列表,brew上可以查看到可用的所有扩展包的名称。

例如安装php7.0.x的驱动

brew install homebrew/php/php70-mongodb

brew 上提供的所有扩展包参见:http://formulae.brew.sh/search?search=mongodb

如果你想使用brew安装其他软件,可以在brew站点搜索所有包:http://formulae.brew.sh/

安装完成后,命令行会提示mongodb的扩展安装目录,不知道的可以在下面的路径进行查找/usr/local/Cellar,因为brew命令安装的所有软件都放置在这个目录下:

> ls /usr/local/Cellar
 php55          php55-mongodb         php70        php70-mongodb

最后在MAMP的php5.x版本的php.ini文件中加入mongo扩展

> vi /Library/Application\ Support/appsolute/MAMP\ PRO/conf/php5.5.38.ini

加上

extension=/usr/local/Cellar/php55-mongodb/1.3.2/mongodb.so

重启服务即可!

使用源码包自己构建mongodb-php扩展驱动

网上的资料一大堆,鱼龙混杂,真不知道哪个对那个错。现在的网络资料质量太差。

首先,基于MAMP的原因,它内置的PHP都不包含头文件(网上的资料都这么说,没有举证过)。所以需要自己下载PHP源码来自己编译。

这里说明的是,其实是有brew来安装,它也是自己下载一个PHP源码,安装,然后下载驱动,编译。只不过是这个方法的一个自动化过程。

  1. 下载PHP源码
> curl -O http://cn2.php.net/distributions/php-5.5.38.tar.gz
  1. 解压
> tar -zxvf php-5.5.38.tar.gz
> cd php-5.5.38
  1. 安装

其实我们都知道,PHP安装时,./configure命令需要带很多扩展参数,但是这里安装的PHP只是用来扩展mongodb并不会实际使用,所以你可以不带任何参数执行./configure

> ./configure --prefix=/usr/local/php5.5.38
> make
> make install

如果你想知道PHP安装需要带哪些单数,你可以参见文章,如何安装LAMP环境:https://www.cnblogs.com/qiuqiuqiu/p/6442732.html

至此,你应该安装好了PHP。

  1. 下载mongodb驱动
> curl -O https://pecl.php.net/get/mongodb-1.3.2.tgz 
  1. 解压
> tar -zxvf mongodb-1.3.2.tgz 
  1. 执行phpize

请使用你安装的PHP内的phpize

> /usr/local/php5.5.38/bin/phpize 
  1. 安装扩展驱动
> ./configure --with-php-config=/usr/local/php5.5.38/bin/php-config
> make
> sudo make install
  1. 配置php.ini

最后在MAMP的php5.x版本的php.ini文件中加入mongo扩展

> vi /Library/Application\ Support/appsolute/MAMP\ PRO/conf/php5.5.38.ini

加上

extension=/usr/local/Cellar/php55-mongodb/1.3.2/mongodb.so

其他省事方法

在网上直接下载别人编译好的mongodb.so文件,拷贝到MAMP中,直接使用。

这里为大家提供一个最新版的(mongodb-1.3.2)编译好的mongodb.so,只有php5.x版本和php7.x版本的,下载地址:
https://blog.plcent.com/wp-content/uploads/2017/11/mongodb1.3.2.zip

下载完成后,可以拷贝到/Applications/MAMP/bin/php/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212目录下,当然,你的电脑中可能不是叫no-debug-non-zts-20121212,但会有一个名字差不多的文件夹。

或者拷贝到php7.x中:/Applications/MAMP/bin/php/php7.0.15/lib/php/extensions/no-debug-non-zts-20151012

那么修改php.ini就应该写:

extension=/Applications/MAMP/bin/php/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/mongodb.so
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注