1、下载swoole最新源码(以swoole4.4.14为例)后解压至任意目录,并进入其中:

  1. cd swoole-src-4.4.14

2、使用phpize生成configure文件

(phpize编译PHP扩展的工具,主要是根据系统信息生成对应的configure文件,详情请参考官方文档:https://www.php.net/manual/en/install.pecl.phpize.php)。

不确定phpize的位置可以先查找一下即可:

  1. xiongxudeMacBook-Pro:swoole-src-4.4.14 xmsite$ find / -name phpize
  2. /usr/bin/phpize

执行/usr/bin/phpize后结果如下:

  1. xiongxudeMacBook-Pro:swoole-src-4.4.14 xmsite$ /usr/bin/phpize
  2. grep: /usr/include/php/main/php.h: No such file or directory
  3. grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
  4. grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
  5. Configuring for:
  6. PHP Api Version:
  7. Zend Module Api No:
  8. Zend Extension Api No:

3、配置编译信息

先确定php-config的位置,我的机器上是:/usr/local/bin/php-config

  1. cent os
  2. ./configure --with-php-config=/usr/local/bin/php-config --enable-http2 --enable-swoole-json --enable-swoole-curl --enable-openssl
  3. mac os 中指定openssl路径
  4. ./configure --with-php-config=/usr/local/bin/php-config --enable-http2 --enable-swoole-json --enable-swoole-curl --enable-openssl --with-openssl-dir=/usr/local/Cellar/openssl@1.1/1.1.1h

4、编译并安装

  1. make && make install

大功告成!

通过php --ri swoole查看下swoole的版本

  1. xiongxudeMacBook-Pro:swoole-src-4.4.14 xmsite$ php --ri swoole
  2. swoole
  3. Swoole => enabled
  4. Author => Swoole Team <team@swoole.com>
  5. Version => 4.4.14
  6. Built => Jan 12 2020 00:33:27
  7. coroutine => enabled
  8. kqueue => enabled
  9. rwlock => enabled
  10. pcre => enabled
  11. zlib => 1.2.11
  12. brotli => E16777223/D16777223
  13. async_redis => enabled
  14. Directive => Local Value => Master Value
  15. swoole.enable_coroutine => On => On
  16. swoole.enable_library => On => On
  17. swoole.enable_preemptive_scheduler => Off => Off
  18. swoole.display_errors => On => On
  19. swoole.use_shortname => On => On
  20. swoole.unixsock_buffer_size => 262144 => 262144