Linux 下 swoole4 环境搭建 [2018-12-4] 手记

Skiy 10天前 10

基础环境挺容易安装的,但是有些库可能就有点麻烦.每次都翻文档很窝火,因为有些库还要依赖安装一些扩展…

查看官网的完整环境安装示例: https://wiki.swoole.com/wiki/page/6.html


以当前版本(v4.2.9)为例:

项目地址:https://github.com/swoole/swoole-src/releases

获取 swoole 源码,并解压

$ wget https://github.com/swoole/swoole-src/archive/v4.2.9.tar.gz
$ tar -zxvf v4.2.9.tar.gz


直接编译时会报错,意思是缺少了 nghttp2 库:

swoole/php_swoole.h:147:2: error: #error "Enable http2 support, require nghttp2 library."
#error "Enable http2 support, require nghttp2 library."


获取 nghttp2 源码,并解压,编译安装

项目地址:https://github.com/nghttp2/nghttp2/releases

$ wget https://github.com/nghttp2/nghttp2/releases/download/v1.35.0/nghttp2-1.35.0.tar.gz
$ tar -zxvf nghttp2-1.35.0.tar.gz
$ cd nghttp2-1.35.0/
$ sudo ldconfig -v
$ ./configure
$ make
$ sudo make install


再将进入 swoole 编译安装

$ cd ../swoole/
$ phpize
$ ./configure --enable-openssl --enable-http2 --enable-sockets --enable-mysqlnd && make clean && make && sudo make install


没报错之后…

添加 swoole.so 扩展文件到配置信息里.

首先查出

$ php --ini

查出

Scan for additional .ini files in:

的目录在哪里,然后在此目录下添加 ext-swoole.ini,内容如下:

extension=swoole.so


接着查看扩展是否添加成功:

$ php -m


如何证明安装 swoole 成功了呢?

查看是否存在 swoole.

或者通过 Web 查看 phpinfo 是否包含 swoole.


Error:

# 缺少 openssl 库
swoole-src-4.0.1/include/swoole.h:424:10: fatal error: openssl/ssl.h: 没有那个文件或目录
#include <openssl/ssl.h>
# 查找 openssl 库所在目录
whereis openssl
# 所在目录
/usr/local/openssl
# 直接在编译的时候加上 openssl 路径, 编译即可
--with-openssl-dir=/usr/local/openssl
$ 4.2.6
./configure --enable-openssl --enable-http2 --enable-sockets --enable-mysqlnd --with-openssl-dir=/usr/local/Cellar/openssl/1.0.2p
make clean
make
sudo make install


发布于:2018年6月13日 14:34

最新回复 (0)
返回
发新帖