PECL 安装 swoole4.04 解决方案,报错:openssl library not found,nghttp2 library not found

今天在我的Ubuntu16.04 64bit LTS操作系统上的PHP7.2.3上使用pecl安装swoole的时候报错: In file included from /tmp/pear/temp/swoole/swoole.c:16:0: /tmp/pear/temp/swoole/php_swoole.h:1...

今天在我的Ubuntu16.04 64bit LTS操作系统上的PHP7.2.3上使用pecl安装swoole的时候报错:

In file included from /tmp/pear/temp/swoole/swoole.c:16:0:
/tmp/pear/temp/swoole/php_swoole.h:122:2: error: #error "Enable openssl support, require openssl library."
 #error "Enable openssl support, require openssl library."
  ^
In file included from /tmp/pear/temp/swoole/swoole.c:16:0:
/tmp/pear/temp/swoole/php_swoole.h:133:2: error: #error "Enable http2 support, require nghttp2 library."
 #error "Enable http2 support, require nghttp2 library."
  ^
Makefile:194: recipe for target 'swoole.lo' failed
make: *** [swoole.lo] Error 1
ERROR: `make' failed


不要下载 https://github.com/swoole/swoole-src/releases 上的打包文件,因为 build.sh 的内容如下:

attachments-2018-08-6U2NDZQS5b76d4c2f2a40.png

原来 thirdparty 里面包含了几个 git 子模块:

attachments-2018-08-S0w1FTUs5b76d52823142.png

我们直接 clone 一份:git clone https://github.com/swoole/swoole-src.git

然后切换到 v4.0.4 这个已经发布的 tag,git checkout v4.0.4

接着使用 sudo ./build.sh

#这句不正确=>若openssl还是报错,需要安装libssl-dev,命令:sudo apt install libssl-dev openssl

然后在重新 configure --with-openssl-dir=<openssl dir>,接着我们去 openssl 官网下载最新版的 openssl 库(目前最新: https://www.openssl.org/source/openssl-1.1.0i.tar.gz),

然后使用 ./configure & make & make install 就可以使用 openssl

  • 发表于 2018-08-15 16:44
  • 阅读 ( 1652 )
  • 分类:后端技术

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
Kemin

架构工程师

35 篇文章

作家榜 »

  1. Kemin 35 文章
  2. golanglover 5 文章
  3. D.Chen 2 文章
  4. salamander 1 文章
  5. 深圳-伟 1 文章
  6. 广训 1 文章
  7. PHP小菜 1 文章
  8. 后端彭于晏 0 文章