三十三、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 文件中

相关内容

热门资讯

uu模拟器安卓系统,uu模拟器... 你有没有想过,在手机上玩电脑游戏是多么神奇的事情?想象你可以在小小的手机屏幕上,操控着那些庞大的游戏...
安卓连车载系统吗,创新科技引领... 你有没有想过,你的安卓手机和车载系统之间是不是也能来个亲密接触呢?想象当你开车在路上,手机上的导航、...
安卓换ios系统的感想,系统切... 你知道吗?我最近经历了一次大变身,把我的安卓手机换成了苹果的iOS系统。这可不是一个小决定,毕竟手机...
海尔电视怎么装安卓系统,解锁更... 亲爱的电视迷们,你是否对家里的海尔电视充满了好奇,想要给它来个“大变身”,让它从传统电视摇身一变,成...
安卓系统的几大分别 你知道吗?在智能手机的世界里,安卓系统可是当之无愧的“人气王”呢!它就像一位多才多艺的魔术师,总能变...
安卓机照片导入苹果系统,轻松实... 你有没有想过,把安卓手机里的照片导入到苹果系统里呢?这听起来可能有点复杂,但其实,只要掌握了正确的方...
安卓系统刷成miui系统软件 你有没有想过给你的安卓手机换换口味呢?没错,就是那种焕然一新的感觉!今天,就让我来带你一起探索如何将...
雷鸟安卓系统官网登录,解锁智能... 你有没有听说最近雷鸟安卓系统官网登录变得超级方便啦?没错,就是那个让无数手机用户爱不释手的系统,现在...
安卓系统的tf管理,功能解析与... 你有没有发现,你的安卓手机里藏着一个小秘密?那就是TF卡管理!别小看这个小功能,它可是让你的手机存储...
三星安卓系统转鸿蒙系统,跨越生... 你知道吗?最近有个大动作在手机圈里引起了不小的轰动呢!那就是三星安卓系统转鸿蒙系统的事情。是不是觉得...
安卓是用哪个系统,基于Linu... 你有没有想过,安卓手机里那些炫酷的功能,背后其实都离不开一个强大的系统支撑呢?没错,就是那个让安卓手...
橘子4.0系统是安卓几,深度解... 你有没有听说过橘子4.0系统?最近这个话题在手机圈里可是火得一塌糊涂呢!很多人都在问,这个橘子4.0...
安卓系统解锁文件在哪里,安卓系... 你是不是也和我一样,对安卓系统的解锁文件充满了好奇?想知道这些神秘的文件藏在哪里吗?那就跟着我一起探...
安卓系统为啥不要钱,技术开源的... 你有没有想过,为什么安卓系统这么神奇,竟然不要钱就能用?这背后可是有着不少故事呢,让我们一起揭开这个...
安卓系统播放器apk,安卓系统... 你有没有发现,手机里那个小小的播放器,竟然能承载我们那么多美好的回忆?今天,就让我带你一起探索安卓系...
安卓系统微信突然没了,原因揭秘... 最近我的安卓手机上微信突然不见了,这可真是让人头疼啊!微信可是我日常生活中必不可少的社交工具,这下可...
安卓系统点网页链接,探索便捷信... 你有没有遇到过这种情况?手机里打开了一个网页链接,点进去一看,哇,竟然是安卓系统的页面!是不是瞬间觉...
安卓系统起名好听吗 说到安卓系统,你是不是也和我一样,每次看到那些手机屏幕上跳出来的系统名称,就会忍不住想:这名字听起来...
氢os系统是安卓吗,安卓的革新... 你有没有想过,手机操作系统界最近又出现了一个新面孔——氢OS系统?它和安卓系统有什么关系呢?是不是安...
安卓系统如何改密码,安卓系统密... 手机里的安卓系统密码丢了?别急,让我来给你支个招,让你轻松找回或者重置密码,让你的手机安全无忧!一、...