注:swoole作为一个标准的php扩展,安装swoole与安装其他php扩展并没有什么区别
一、安装swoole的前提条件:
(1)安装了php
(2)如果要安装async-mysql(异步mysql),则需要mysqli和mysqlnd扩展(如果没有则需要重新编译php,加上—with-mysqli —with-mysqlnd)
(3)如果要安装async-redis(异步redis),则需要有hiredis库
二、编译安装swoole
这里主要讨论一下swoole中包含异步redis的库
因为swoole的redis是依赖hiredis库的(一个redis的c客户端库)
(1)下载编译hiredis
下载地址:https://github.com/redis/hiredis
wget https://github.com/redis/hiredis/archive/master.zip
unzip master.zip
cd hiredis-master
make
(2)将编译生成的libhiredis.so文件放到系统函数库目录中(并更新系统动态链接库,不然会找不到这个库)
cp libhiredis.so /usr/lib/
/sbin/ldconfig
(3)将解压后的hiredis的源代码文件,即第一步解压后的文件放到系统函数库引用目录/usr/include或者/usr/local/include中
cd ..
mkdir /usr/local/include/hiredis
mv -R ./hiredis-master/* /usr/local/include/hiredis/
(4)安装swoole扩展
wget https://github.com/swoole/swoole-src/archive/master.zip
unzip master.zip
cd swoole
./configure --with-php-config=/usr/local/php7/bin/php-config --enable-swoole-debug --enable-sockets --enable-async-mysql --enable-async-redis --enable-openssl
make
make install
(5)修改php配置文件,加入swoole.so扩展,并重启php-fpm,查看扩展是否安装成功
vim /usr/local/php7/lib/php.ini
加入以下内容:
extension=swoole.so
三、编译参数说明:
注:安装swoole的编译参数可以参考官方wiki,也可以通过configure —help查看
1、—enable-swoole-debug: 启用swoole调试模式
2、—enable-sockets : 启用sockets资源
3、—enable-async-mysql : 启用异步mysql
4、—enable-async-redis : 启用异步redis
5、—enable-openssl : 启用ssl支持
6、—enable-ringbuffer : 开启RingBuffer内存池
7、—enable-http2 : 开启http2的支持
8、—enable-jemalloc : 启用jemalloc内存管理机制
9、—enable-tcmalloc : 启用tcmalloc内存管理机制