MaOS10.14使用PECL安装和编译安装PHP扩展mongodb.os

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: MaOS10.14使用PECL安装和编译安装PHP扩展mongodb.os

PHP扩展安装


环境:

MacOS Mojave 版本 10.14.4 (18E2035)
$ php -v
PHP 7.1.23

方式一:编译安装扩展

下载mongodb扩展

https://pecl.php.net/package/mongodb

# 截止2021-08-26最新
$ wget https://pecl.php.net/get/mongodb-1.10.0.tgz
# 解压
$ tar -zxvf mongodb-1.10.0.tgz
# 进入目录
$ cd mongodb-1.10.0
# 生成configure文件
$ phpize
# 编译安装,如果只有一个php版本可省略参数 --with-php-config
$ ./configure --with-php-config=php-config
$ make && make install
# 查看扩展目录
$ php -i | grep extension_dir
# 查看生成的.so扩展文件
$ ls /usr/lib/php/extensions/no-debug-non-zts-20160303
mongodb.so  opcache.a   opcache.so  xdebug.so
# 查看ini文件路径
$ php --ini

在配置文件 php.ini 中加入一行配置:

extension=mongodb.so

检查

# 查看PHP的mongodb扩展模块
$ php -m | grep mongodb

也可以用phpinfo(); 查看扩展安装信息


参考

macOs-sdk headers for macos 10.14 该软件包与mac os 不兼容

mac下PHP安装mongodb的扩展

php7.2 安装mongodb扩展 生成mongodb.so文件

Operation Not Permitted 错误问题

MongoDB PHP 扩展


遇到的问题及解决

1、执行 phpize 显示目录不存在

$ phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:

原因是 /usr/include 文件夹不存在

处理方式:

$ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

如果提示不兼容,则需要重装一下

$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install
$ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

2、编译安装时提示没有权限

一种说法是修改MacOS的文件权限,我试了之后不好使

我的处理方式是,将编译生成的文件 modules/mongodb.so 拷贝到目标扩展文件夹

cp ./modules/mongodb.so /usr/lib/php/extensions/no-debug-non-zts-20160303

方式二:PECL安装扩展

1、先安装PECL/PEAR

官方文档:https://pear.php.net/manual/en/installation.getting.php

$ curl -O https://pear.php.net/go-pear.phar
$ sudo php -d detect_unicode=0 go-pear.phar

选择1,改为: /usr/local/pear

选择4,改为: /usr/local/bin

2、检查

$ pear version

3、安装mongodb扩展

$ sudo pecl install mongodb

4、配置php.ini 文件,添加 配置

extension=mongodb.so

参考

macOS 上安装 PECL

PHP7 MongDB 安装与使用

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
2月前
|
运维 Unix Linux
Linux系统 PHP安装expect扩展详解
Linux系统 PHP安装expect扩展详解
39 5
|
4月前
|
Linux 应用服务中间件 PHP
Linux下搭建PHP环境-源码编译安装PHP7.2
Linux下搭建PHP环境-源码编译安装PHP7.2
153 0
|
2天前
|
存储 分布式计算 NoSQL
MongoDB的简介和安装(在服务器上)
MongoDB的简介和安装(在服务器上)
15 0
|
16天前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
3 0
|
28天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
29 0
|
1月前
|
NoSQL MongoDB Docker
docker安装MongoDB
docker安装MongoDB
22 0
|
2月前
|
NoSQL 关系型数据库 MySQL
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
不同系统下进行MySQL安装、MongoDB安装、Redis安装【2月更文挑战第5天】
445 5
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
|
3月前
|
存储 JSON NoSQL
【MongoDB】<文档型数据库>Windows&Liunx安装MongoDB(无错完整)
【1月更文挑战第26天】【MongoDB】<文档型数据库>Windows&Liunx安装MongoDB(无错完整)
|
3月前
|
PHP Windows
php扩展com_dndnet(PHP与.NET框架进行交互)
php扩展com_dndnet(PHP与.NET框架进行交互)
php扩展com_dndnet(PHP与.NET框架进行交互)