> 文章列表 > 三十三、MongoDB PHP 扩展

三十三、MongoDB PHP 扩展

三十三、MongoDB PHP 扩展

PHP 语言访问 MongoDB 数据库需要使用 mongo 扩展

mongo 扩展不是 PHP 官方内置的扩展,需要开发者自己手动安装和配置

本章我们将学习如何在 Linux、Window、Mac 平台上安装 mongo 扩展

Linux 上安装 PHP MongoDB 扩展

通过 pecl 来安装

在 Linux 系统上可以通过执行以下命令来来安装 MongoDB 的 PHP 扩展驱动

$ pecl install mongodb

编译源码安装

如果想通过源码来编译扩展驱动,必须手动编译源码包,这样做的好处是可以使用最新的版本

我们可以在 Github 上下载 MongoDB PHP 驱动包

PHP MongoDB Github 地址为:https://github.com/mongodb/mongo-php-driver

下载好源码包后,执行以下命令来安装

$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ phpize
$ ./configure
$ sudo make install

如果你的 PHP 也是自己从源码编译安装的,则安装方法如下:

假设 PHP 编译安装在 /usr/local/php 目录中

$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz
$ cd mongodb-mongodb-php-driver-<commit_id>
$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ sudo make install

安装完成后,我们需要修改 php.ini 添加 mongo.so 扩展

添加如下配置如下:

extension=mongo.so

注意: 可能需要指明 extension_dir 配置项的路径

重启服务器

然后通过使用以下命令来判断是否安装正确

php -i | grep mongo

如果安装正确,一般会输出类似下面的信息

$ php -i | grep mongo
/usr/local/etc/php/5.6/conf.d/ext-mongo.ini,
mongo
mongo.allow_empty_keys => 0 => 0
mongo.chunk_size => 261120 => 261120
mongo.cmd => $ => $
mongo.default_host => localhost => localhost
mongo.default_port => 27017 => 27017
mongo.is_master_interval => 15 => 15
mongo.long_as_object => 0 => 0
mongo.native_long => 1 => 1
mongo.ping_interval => 5 => 5

Window 系统上安装 MongoDB PHP 扩展

Github 上已经提供了用于 Window 平台的预编译 PHP MongoDB 驱动二进制包

下载地址为 : https://pecl.php.net/package/mongodb

你可以下载与你 PHP 对应的版本,但是需要注意以下几点问题:

1、 VC6 是运行于 Apache 服务器
2、 ‘Thread safe’(线程安全)是运行在 Apache 上以模块的 PHP 上,如果你以 CGI 的模式运行 PHP,请选择非线程安全模式(’ non-thread safe’)
3、 VC9 是运行于 IIS 服务器上
4、 下载完需要的二进制包后,解压压缩包,将 php_mongo.dll 文件添加到你的 PHP 扩展目录中(ext) ext目录通常在 PHP 安装目录下的 ext 目录

打开 PHP 配置文件 php.ini 添加以下配置:

extension=php_mongo.dll

重启服务器

然后通过使用以下命令来判断是否安装正确

php -i | grep mongo

如果安装正确,一般会输出类似下面的信息

$ php -i | grep mongo
/usr/local/etc/php/5.6/conf.d/ext-mongo.ini,
mongo
mongo.allow_empty_keys => 0 => 0
mongo.chunk_size => 261120 => 261120
mongo.cmd => $ => $
mongo.default_host => localhost => localhost
mongo.default_port => 27017 => 27017
mongo.is_master_interval => 15 => 15
mongo.long_as_object => 0 => 0
mongo.native_long => 1 => 1
mongo.ping_interval => 5 => 5

MAC OS 系统安装 MongoDB PHP 扩展驱动

可以使用 autoconf 安装 MongoDB PHP 扩展驱动

可以使用 Xcode 安装 MongoDB PHP 扩展驱动

如果你使用 XAMPP,可以使用以下命令安装 MongoDB PHP 扩展驱动

sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo

如果以上命令在 XMPP 或者 MAMP 中不起作用,你需要在 Github 上下载兼容的预编译包

然后添加 extension=mongo.so 配置到你的 php.ini 文件中