1. 首页
  2. mongodb教程

33-三十三、MongoDB PHP 扩展

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

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

本章我们将学习如何在 LinuxWindowMac 平台上安装 mongo 扩展

Linux 上安装 PHP MongoDB 扩展

通过 pecl 来安装

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


$ 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扩展目录中(extext 目录通常在 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 文件中

希望读者能够给小编留言,也可以点击[此处扫下面二维码关注微信公众号](https://www.ycbbs.vip/?p=28 "此处扫下面二维码关注微信公众号")

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
  4. JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

    本文著作权归作者所有,如若转载,请注明出处

    转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

    标题:33-三十三、MongoDB PHP 扩展

    链接:https://www.javajike.com/article/1547.html

« 34-三十四、MongoDB PHP
32-三十二、MongoDB Java»

相关推荐

QR code