MaOS10.14使用PECL安装和编译安装PHP扩展mongodb.os-阿里云开发者社区

开发者社区> 开发者小助手-bz> 正文

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

简介: 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 安装与使用

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
linux编译安装php
首先我喜欢nginx,所以就为nginx配置php了,然后你可以在php的官网找到它的手册,这里是它的安装教程http://php.net/manual/zh/install.unix.
674 0
centos 编译安装PHP5.4
2013年12月29日 19:52:30 已经安装好Apache 2.4 php版本 5.4 1 ./configure --prefix=/usr/local/lamp/php --with-apxs2=/usr/local/lamp/apache/bin/apxs --with-con...
937 0
Boost下载安装编译配置使用指南
转载:http://www.cppblog.com/jerryma/archive/2011/10/17/158554.html ——更新于2011/7/19,目前我已对boost的安装和使用有了新的认识,因此也会对两年前写的这篇文章做大幅修改,网上转载版本泛滥,请以本文为准。
1031 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
8997 0
编译安装php-amq扩展
  用途:这个扩展是用来操作rabbitmq服务端的   一、安装总括   1、编译安装librabbitmq库   这是一个开源c语言的库。用来与rabbitmq进行通信   而php的php-amqp扩展就是使用这个库与服务端通信。
980 0
1569
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载