编译安装

Swoole扩展是按照PHP标准扩展构建的。使用phpize来生成编译检测脚本,./configure来做编译配置检测,make进行编译,make install进行安装。

  • 请下载releases版本的swoole,直接从github主干上拉取最新代码可能会编译不过
  • 如无特殊需求, 请务必编译安装swoole的最新版本
  • 如果当前用户不是root,可能没有PHP安装目录的写权限,安装时需要sudo或者su
  • 如果是在git分支上直接git pull更新代码,重新编译前务必要执行make clean

安装准备

安装前必须保证系统已经安装了下列软件

  • php-7.0 或更高版本
  • gcc-4.8 或更高版本
  • make
  • autoconf
  • pcre (CentOS系统可以执行命令:yum install pcre-devel)

下载地址

新手编译示例

  1. cd swoole
  2. phpize (ubuntu 没有安装phpize可执行命令:sudo apt-get install php-dev来安装phpize)
  3. ./configure
  4. make
  5. sudo make install

进阶完整编译示例

初次接触swoole的开发者请先尝试上方的简单编译,如果有进一步的需要,可以根据具体的需求和版本,调整以下示例的编译参数

编译参数参考

以下脚本会下载并编译master分支的源码, 需保证你已安装所有依赖, 否则会遇到各种依赖错误

  1. mkdir -p ~/build && \
  2. cd ~/build && \
  3. rm -rf ./swoole-src && \
  4. curl -o ./tmp/swoole.tar.gz https://github.com/swoole/swoole-src/archive/master.tar.gz -L && \
  5. tar zxvf ./tmp/swoole.tar.gz && \
  6. mv swoole-src* swoole-src && \
  7. cd swoole-src && \
  8. phpize && \
  9. ./configure \
  10. --enable-coroutine \
  11. --enable-openssl \
  12. --enable-http2 \
  13. --enable-async-redis \
  14. --enable-sockets \
  15. --enable-mysqlnd && \
  16. make clean && make && sudo make install

PECL

注意: PECL发布时间晚于Github发布时间

Swoole项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装

  1. pecl install swoole

配置php.ini

编译安装成功后,修改php.ini加入

  1. extension=swoole.so

通过php -mphpinfo()来查看是否成功加载了swoole.so,如果没有可能是php.ini的路径不对,可以使用php —ini来定位到php.ini的绝对路径。