php7.1 安装mongo驱动,安装 PHP7 的 MongoDB 驱动扩展

安装 PHP 的 MongoDB 驱动扩展

概述

MongoDB 是一个由C++语言编写的,基于分布式文件存储的数据库。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

MongoDB 支持的数据结构非常松散,是类似json的 bson 格式,因此可以存储比较复杂的数据类型。

MongoDB 是面向集合存储的。所谓“面向集合”(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collection)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。

查看系统版本:

$ uname -a

Linux homestead 4.15.0-64-generic #73-Ubuntu

SMP Thu Sep 12 13:16:13 UTC 2019 x86_64 x86_64 x86_64

GNU/Linux

查看 PHP 版本:

$ php -v

PHP 7.4.0beta4 (cli) (built: Aug 28 2019 11:41:49) ( NTS )

Copyright (c) The PHP Group

Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies

with Zend OPcache v7.4.0beta4, Copyright (c), by Zend Technologies

$ /usr/bin/php7.4 -v

PHP 7.4.0beta4 (cli) (built: Aug 28 2019 11:41:49) ( NTS )

Copyright (c) The PHP Group

Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies

with Zend OPcache v7.4.0beta4, Copyright (c), by Zend Technologies

该机器中存在多个版本的PHP,默认版本 php 7.4 命令路径为 /usr/bin/php7.4。

安装编译MongoDB扩展

本例中使用 PECL 自动编译安装 MongoDB 扩展。

使用 PECL 的好处就是不用自己手动下载源码、编译、配置、安装(不用手动执行 phpize、configure、make、make install等命令)。

PECL 的全称是 The PHP Extension Community Library ,是一个开放的并通过 PEAR (PHP 扩展和应用仓库)打包格式来打包安装的 PHP扩展库仓库。通过 PEAR 的 Package Manager 的安装管理方式,可以对 PECL 模块进行下载和安装。

需要注意的是,PHP MongoDB 有2个扩展,我们需要安装的是新版的 php-mongodb,而不是已经废弃的 php-mongo。

扩展地址 https://pecl.php.net/package/mongodb 。目前该扩展的最新版本是 2020-03-11 发布的 mongodb-1.7.4.tgz。

使用 pecl install mongodb 命令执行安装:

$ sudo pecl install mongodb

downloading mongodb-1.7.4.tgz ...

Starting to download mongodb-1.7.4.tgz (1,223,416 bytes)

.................... done: 1,223,416 bytes

533 source files, building

running: phpize

Configuring for:

PHP Api Version: 20190529

Zend Module Api No: 20190529

Zend Extension Api No: 320190529

... ...

Build process completed successfully

Installing '/usr/lib/php/20190529/mongodb.so'

install ok: channel://pecl.php.net/mongodb-1.7.4

configuration option "php_ini" is not set to php.ini location

You should add "extension=mongodb.so" to php.ini

注意编译后生成的文件路径为: /usr/lib/php/20190529/mongodb.so

修改 PHP 配置文件

$ php7.4 -i |grep php.ini

Configuration File (php.ini) Path => /etc/php/7.4/cli

Loaded Configuration File => /etc/php/7.4/cli/php.ini

修改 php.ini 配置,指定扩展路径

$ vi /etc/php/7.4/cli/php.ini

新增一行扩展配置(本例中使用全路径):

# MongoDB 扩展路径

extension=/usr/lib/php/20190529/mongodb.so

查看 php -m 命令查看扩展模块中是否存在 mongodb:

$ php -m |grep mongo

mongodb

能查到该扩展,说明安装成功。

由于是在命令行执行,因此是立即生效的。如果要在fpm中生效,需要把 php-fpm 重新启动一下。

比如 Ubuntu 下可以执行:

$ sudo service php-fpm restart

$ sudo service php7.4-fpm restart //

查看 php-fpm 进程

$ ps aux | grep php-fpm

扩展内容

PECL PHP扩展社区库 The PHP Extension Community Library

PEAR PHP扩展和应用仓库 PHP Extension and Application Repository

参考链接

[END]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值