GitHub地址

1.直接使用Swoole官方的二进制包 (初学者 + 开发环境)

下载地址

2.使用PHP官方的PECL工具安装 (初学者)

pecl install swoole

在安装过程中会提示你是否安装其他的扩展等,具体如下

// 是否启用 PHP Sockets 支持,如果你需要用 PHP 编写 Sockets 服务,可以启用此项。
enable sockets supports? [no] : no

// 是否启用 OpenSSL 加密支持
enable openssl support? [no] : no

// 是否启用 HTTP2 支持
// 了解 HTTP2 新特性 https://zh.wikipedia.org/wiki/HTTP/2
enable http2 support? [no] : no

// 官方说安装这个, 只是为了支持mysql->escape方法
enable mysqlnd support? [no] : no

3.从源码编译安装 (推荐)

cd swoole-src && \
phpize && \
./configure && \
make && sudo make install

安装成功截图

安装成功截图

安装成功,添加扩展

vim /etc/php.ini
# 加入下面一行
extension=swoole.so

重启 php-fpm 和 nginx

查看是否有该扩展了 php -m

报错

报错1

没有c++库 error: C++ preprocessor "/lib/cpp" fails sanity check 解决办法:yum install glibc-headersyum install gcc-c++

报错2

没有openssl/ssl此类文件或目录 error: openssl/ssl.h: No such file or directory

解决办法 yum install openssl-devel

报错3

error: Enable http2 support,require nghttp2 library 解决办法

wget https://github.com/nghttp2/nghttp2/releases/download/v1.34.0/nghttp2-1.34.0.tar.bz2

tar -xjf nghttp2-1.34.0.tar.bz2

报错4

PHP Warning: Module 'swoole' already loaded in Unknown on line 0 解决办法: 在修改配置时extension=swoole.so别放在最后,最好放在extension=sockets.so后面