首页PHP文章详情

完美解决 pecl install swoole扩展安装提示openssl无法安装的错误

By lakeui / Sep 9, 2021 阅读 0 评论 0 发表于 PHP 字数:1016 阅读时间:11秒

swooleopenssl

摘要:很多人在安装Swoole扩展时,大部分采用 pecl 进行安装,可有时会遇到,openssl扩展安装失败的提示:error "Enable openssl support, require openssl library." 或者 fatal error: 'openssl/ssl.h' file not found

安装swoole扩展命令:

  1. pecl install swoole

接下来会有以下安装提示:

  1. enable openssl support? [no] :

openssl是用于开启SSL 支持,很多要么输入yes要么输入no,可以输入yes 之后就开始编译了,结果发现报错了:

  1. error "Enable openssl support, require openssl library."

意思就是说你开启 openssl,常规路径下没有找到,需要你手动指定 openssl 库的路径。

  1. fatal error: 'openssl/ssl.h' file not found

这个意思是你没有加 openssl 库的路径或者指定 openssl 库的路径不对,缺少头文件。

那么在 pecl 安装的时候怎么开启添加这个路径呢?

我们可以在 yes 后面跟上路径参数:

  1. #这里要替换你本地openss的路径
  2. --with-openssl-dir=/usr/local/opt/openssl@1.1

mac系统可以通过下面命令查看:

  1. brew info openssl
  2. For compilers to find openssl@1.1 you may need to set:
  3. export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  4. export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

最后的效果如下:

  1. enable openssl support? [no] : yes --with-openssl-dir=/usr/local/opt/openssl@1.1

这样就可以编译成功,最后查看下:

  1. php --ri swoole
  2. Swoole => enabled
  3. Author => Swoole Team <team@swoole.com>
  4. Version => 4.7.1
  5. Built => Sep 11 2021 16:58:27
  6. coroutine => enabled with boost asm context
  7. kqueue => enabled
  8. rwlock => enabled
  9. sockets => enabled
  10. openssl => OpenSSL 1.1.1l 24 Aug 2021
  11. dtls => enabled
  12. http2 => enabled
  13. pcre => enabled
  14. zlib => 1.2.11
  15. brotli => E16777225/D16777225
  16. async_redis => enabled

可以查看到openssl已经安装成功了!

手机扫码阅读,舒服~

⌘ + Return 发表
最新 最早 全部评论0 条评论