mac 编译安装php7.4 openssl扩展错误记录

【错误】

Package requirements (openssl >= 1.0.1) were not met:

No package 'openssl' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables OPENSSL_CFLAGS
and OPENSSL_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

【解决】

1.确认安装了openssl,如未安装则进行安装

brew install openssl

2.追加PKG_CONFIG_PATH 路径和声明openssl lib/include 的路径

vi ~/.bash_profile
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
export OPENSSL_LIBS="-L/usr/local/Cellar/openssl@1.1/1.1.1q/lib"
export OPENSSL_CFLAGS="-I/usr/local/Cellar/openssl@1.1/1.1.1q/include"
export PATH=/usr/local/opt/openssl@1.1/bin:$PATH
export LDFLAGS=-L/usr/local/opt/openssl@1.1/lib
export CPPFLAGS=-I/usr/local/opt/openssl@1.1/include

3.注册 openssl 到 pkgconfig 中

# 查看 openssl 是否在 pkgconfig 中
pkg-config --list-all | grep openssl
 
# 如果 pkgconfig 中没有 openssl 包 则手动建立 或者 尝试 brew unlink/link 重建
cd /usr/local/Cellar/openssl@1.1/1.1.1d/lib/pkgconfig
ln -s `pwd`/openssl.pc /usr/local/lib/pkgconfig

【错误】

108 warnings and 1 error generated.

make: *** [ext/openssl/openssl.lo] Error 1

这个错误主要是 openssl 版本 php版本不兼容,brew install openssl 默认安装的是最新openssl@3版本,发生以上错误

由于Debian Stretch默认使用OpenSSL 1.1.0。PHP 5.6 与更高版本的 OpenSSL 不兼容。这是一个 PHP 问题,但不确定它们是否会修复。

【解决】

MacOS 11.6 Big Sur: unable to compile PHP · Issue #1249 · phpbrew/phpbrew · GitHub

1.首先安装php8.0版本

export OPENSSL_PREFIX=$(brew --prefix openssl@1.1)
export OPENSSL_CFLAGS="-I${OPENSSL_PREFIX}/include"
export OPENSSL_LIBS="-L${OPENSSL_PREFIX}/lib -lcrypto -lssl"

phpbrew --debug install -j 12 8.0 +default -- --with-openssl="shared,${OPENSSL_PREFIX}"

2.选择php8

phpbrew use php-8.0.20

3.安装openssl扩展

phpbrew ext install openssl -- --with-openssl=$OPENSSL_PREFIX

4.正常安装php7.4

export CFLAGS="-Wno-implicit-function-declaration"

phpbrew install -j 12 7.4 +default -- --with-openssl="shared,${OPENSSL_PREFIX}"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值