文章永久连接:https://tech.souyunku.com/?p=3697
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 文件中
干货推荐
附录:MongoDB 教程:系列文章
- 一、MongoDB 基础教程
- 二、NoSQL 简介
- 三、什么是 MongoDB ?
- 四、Windows 平台安装 MongoDB
- 五、Linux 平台安装 MongoDB
- 六、Mac OSX 平台安装 MongoDB
- 七、MongoDB 术语
- 八、MongoDB -连接
- 九、MongoDB 创建数据库
- 十、MongoDB 切换数据库
- 十一、MongoDB 删除数据库
- 十二、MongoDB 备份数据( mongodump )
- 十三、MongoDB 插入文档
- 十四、MongoDB 更新文档
- 十五、MongoDB 删除文档
- 十六、MongoDB 删除集合
- 十七、MongoDB 查询文档
- 十八、MongoDB 条件操作符
- 十九、MongoDB $type操作符
- 二十、MongoDB 限制条数 (limit 方法)
- 二十一、MongoDB 跳过 (skip 方法)
- 二十二、MongoDB 排序
- 二十三、MongoDB 索引
- 二十四、MongoDB 聚合运算( aggregate )
- 二十五、MongoDB 聚合运算 – 管道
- 二十六、MongoDB 副本集群复制
- 二十七、MongoDB 分片集群技术
- 二十八、MongoDB 备份数据( mongodump )
- 二十九、MongoDB 恢复数据( mongorestore )
- 三十、MongoDB 性能跟踪 ( mongotop )
- 三十一、MongoDB 状态检测 ( mongostat )
- 三十二、MongoDB Java
- 【当前读到】三十三、MongoDB PHP 扩展
- 三十四、MongoDB PHP
- 三十五、PHP7 MongDB 扩展安装与使用
- 三十六、MongoDB 关系
- 三十七、MongoDB 数据库引用
- 三十八、MongoDB 覆盖索引查询
- 三十九、MongoDB 查询分析
- 四十、MongoDB 原子操作
- 四十一、MongoDB 高级索引
- 四十二、MongoDB 索引限制
- 四十三、MongoDB ObjectId
- 四十四、MongoDB Map Reduce
- 四十五、MongoDB 全文检索
- 四十六、MongoDB 正则表达式
- 四十七、MongoDB 管理工具: Rockmongo
- 四十八、MongoDB GridFS
- 四十九、MongoDB 固定集合(Capped Collections)
- 五十、MongoDB 自增 ID