• 编译安装
    • 安装准备
    • 下载地址
    • 新手编译示例
    • 进阶完整编译示例
    • PECL
    • 配置php.ini

    编译安装

    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)

    下载地址

    • https://github.com/swoole/swoole-src/releases
    • http://pecl.php.net/package/swoole
    • http://git.oschina.net/swoole/swoole
      下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装

    新手编译示例

    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的绝对路径。