最近接触了Swoole, 将Swoole的安装方式记录下来。

软件平台

  • Ubuntu Server 16.04

依赖

官方文档 - 环境依赖中所列依赖,除PHP默认都已安装。

安装步骤

安装PHP

  1. apt install php-cli php7.0-dev

下载并安装hiredis

为了使用异步Redis,需要编译hiredis

  1. wget https://github.com/redis/hiredis/archive/v0.13.3.tar.gz 下载安装包
  2. tar -zxvf v0.13.3.tar.gz 解压
  3. cd hiredis-0.13.3/
  4. make && make install && ldconfig 编译并加载

下载并安装Swoole

  1. wget https://github.com/swoole/swoole-src/archive/v4.0.0.tar.gz
  2. tar -zxvf v4.0.0.tar.gz
  3. cd swoole-src-4.0.0/
  4. phpize 预备PHP编译环境
  5. ./configure --enable-async-redis 启用Redis
  6. make -j8 && make install 编译安装
  7. echo "extension=swoole.so" > /etc/php/7.0/mods-available/swoole.ini && ln -s /etc/php/7.0/mods-available/swoole.ini /etc/php/7.0/cli/conf.d/20-swoole.ini 启用Swoole扩展

校验Swoole安装

执行php --ri swoole, 得到如下输出


swoole

swoole support => enabled
Version => 4.0.0
Author => tianfeng.han[email: mikan.tenny@gmail.com]
coroutine => enabled
epoll => enabled
eventfd => enabled
timerfd => enabled
signalfd => enabled
cpu affinity => enabled
spinlock => enabled
rwlock => enabled
async redis client => enabled
async http/websocket client => enabled
Linux Native AIO => enabled
pcre => enabled
zlib => enabled
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled

Directive => Local Value => Master Value
swoole.aio_thread_num => 2 => 2
swoole.display_errors => On => On
swoole.use_namespace => On => On
swoole.use_shortname => On => On
swoole.fast_serialize => Off => Off
swoole.unixsock_buffer_size => 8388608 => 8388608

参考