mac php安装mongodb扩展 报错 'Security/Security.h' file not found

最近换了个电脑,需要重新部署下环境,其他的还好,基本跟着网上各种指导都装的差不多,但是在准备安装mongodb的时候碰上了点问题,来回折腾了三四天,主要是卡在安装php的mongodb扩展,记录下,以供参考。

1、一开始尝试使用  pecl   install  mongodb     安装,但是也各种报错,包括 直接就解压下载的包失败的(unpack …………)、ldylib.o not found  等错误,很麻烦,于是最后还是决定手动编译安装;

2、以下是完整的操作步骤:


//下载压缩包
1)wget http://pecl.php.net/get/mongodb-1.5.5.tgz

//解压
2)tar -zxvf mongodb-1.5.5.tgz 

//进入解压目录
3)cd mongodb-1.5.5

//开始编译安装

4)/usr/local/Cellar/php\@7.2/7.2.20/bin/phpize 

注意:我一开始直接运行的  phpize,虽然能执行,但是在后面安装的时候也会有各种错,具体原因我也没搞清楚,来回试好几遍后指定了绝对路径执行 phpize,所以建议搞清楚自己php的安装目录,然后指定绝对路径执行phpize


5)./configure --with-php-config=/usr/local/Cellar/php\@7.2/7.2.20/bin/php-config --with-openssl-dir=/usr/local/Cellar/openssl/1.0.2s/

注意:跟上面一样,也请确定好自己的php安装目录再执行configure


6)make && make install






这个时候报错,/private/tmp/pear/install/mongodb/src/libmongoc/src/libmongoc/src/mongoc/mongoc-rand-common-crypto.c:25:10: fatal error: 'Security/Security.h' file not found,不能忍啊,折腾那么久眼看着成功了又报错。于是一番搜索后,在参考了下面两篇后总算解决了,不过感觉描述的不是很清楚,所以今天自己重新整理了下,接着装;

参考:https://blog.csdn.net/drdongshiye/article/details/90143302,另一篇忘记是哪个了。。。。。。

继续

7)cd include/

8)ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Versions/A/Headers/ Security

9)ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/ CoreFoundation

10)brew install pcre

11)cd ..

12)./configure --with-php-config=/usr/local/Cellar/php\@7.2/7.2.20/bin/php-config --with-openssl-dir=/usr/local/Cellar/openssl/1.0.2s/

13)make && make install

14)
php -i | grep extension_dir //查看PHP扩展包存储目录,这里为eextension_dir => /usr/local/lib/php/pecl/20170718 => /usr/local/lib/php/pecl/20170718

ls /usr/local/lib/php/pecl/20170718 //查看目录中是否有mongodb.so文件

编辑php.ini,在extension区域添加mongodb扩展

extension=mongodb.so

至此,就安装成功了,哈哈

查看:

php -m | grep mongodb

 

本文部分内容也借鉴了:https://blog.csdn.net/chinawangfei/article/details/80301725

以上,

感谢大家浏览,祝好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值