三十三、MongoDB PHP 扩展
创始人
2024-05-31 12:50:48
0

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-.tar.gz
$ cd mongodb-mongodb-php-driver-
$ phpize
$ ./configure
$ sudo make install

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

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

$ tar zxvf mongodb-mongodb-php-driver-.tar.gz
$ cd mongodb-mongodb-php-driver-
$ /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 文件中

相关内容

热门资讯

简单安卓成绩管理系统,打造高效... 你有没有想过,在繁忙的工作和学习中,如何轻松管理你的安卓设备上的成绩呢?别急,今天就来给你介绍一个超...
安卓系统ui设计好吗,打造极致... 你有没有发现,每次打开手机,安卓系统的界面总是那么吸引眼球呢?今天,我们就来聊聊这个话题——安卓系统...
16th系统安卓版本,创新功能... 你有没有发现,你的手机最近是不是有点不一样了?是不是觉得操作起来更加流畅,界面也更加美观了呢?哈哈,...
苹果系统能玩安卓游戏吗 你有没有想过,你的苹果手机里能不能玩安卓游戏呢?这可是个让人好奇不已的问题哦!想象你手握着那光滑的i...
国外使用安卓系统吗,全球安卓系... 你有没有想过,为什么你的手机里装的是安卓系统,而你的外国朋友却用的是苹果?今天,就让我带你一起探索国...
安卓双系统怎么设置小米,体验双... 你有没有想过,手机里装两个系统,一个安卓,一个iOS,那感觉是不是就像拥有了两个世界?今天,就让我来...
安卓系统不如ios流畅,安卓系... 你有没有发现,每次拿出手机,安卓和iOS的用户总是免不了要来一场“谁更流畅”的辩论?我最近也深入研究...
安卓系统在下载东西在哪,安卓系... 你有没有遇到过这种情况:手机里突然想下载个新应用或者文件,可是翻遍手机,就是找不到那个神秘的下载按钮...
安卓系统可以连接airport... 你有没有想过,你的安卓手机竟然能和机场来个亲密接触呢?没错,就是那种高大上的国际机场,那些穿梭在跑道...
安卓系统软件怎样删除,安卓系统... 手机里的安卓系统软件越来越多,是不是感觉有点乱糟糟的?别急,今天就来教你怎么轻松删除那些不再需要的软...
电脑备份安卓车机系统,电脑备份... 你有没有想过,你的安卓车机系统就像是一辆行驶在信息高速公路上的汽车,而备份就像是给这辆车装上了备用轮...
微信ios换安卓系统,无缝衔接 最近是不是有不少小伙伴在纠结微信从iOS系统换到安卓系统的事情呢?这可是个大问题,毕竟微信可是咱们日...
可以给安卓系统装APP,畅享智... 你有没有想过,你的安卓手机里可以装上那些只在苹果手机上才能用的APP呢?没错,今天就要来告诉你,这可...
安卓系统视频转音频教程,享受纯... 亲爱的手机控们,你是否有过这样的经历:一部精彩的电影,一段感人的演讲,或者是某个瞬间让你会心一笑的短...
安卓传苹果系统怎么传,安卓到苹... 你是不是也和我一样,手里拿着安卓手机,却对苹果系统的魅力无法抗拒?想要把安卓手机里的宝贝转移到苹果设...
安卓系统设置软件不升级,安卓系... 你有没有发现,你的安卓手机系统设置软件好像好久没更新了呢?是不是觉得有点out了?别急,今天就来给你...
win7模拟安卓系统,打造跨平... 亲爱的读者们,你是否曾经幻想过在Windows 7的系统上运行安卓应用?想象那是一种怎样的奇妙体验呢...
安卓系统手机应用商店,畅享智能... 你有没有发现,现在手机里最不能少的就是那些五花八门的应用了?无论是追剧、购物、学习还是娱乐,手机应用...
安卓系统三星手表,安卓系统下的... 你有没有发现,最近身边的朋友们都在戴一种特别酷的手表?没错,就是安卓系统的三星手表!这可不是随便一款...
安卓什么系统最强手机,揭秘最强... 你有没有想过,安卓手机的世界里,哪一款手机的系统最强大呢?这就像是在美食界寻找那道最让人垂涎的佳肴一...