Linux 源码编译安装 Swoole 扩展

1、下载 swoole 源码

https://github.com/swoole/swoole-src/releases

2、上传到服务器 /root 下面,并解压

3、生成 configure 文件

我们都知道,编译有 三个步骤,分别是 configure,make,make install

但我们发现,解压后的 swoole 源码是没有 configure 文件的,这时我们就需要使用 PHP 的 phpize 工具去为 swoole 生成 configure 文件。

注:phpize 是 PHP 用来扩展 PHP 扩展模块的。

这个 phpize 的位置位于:

 
进入 swoole 目录,并执行 phpize,生成 configure

cd /root/swoole-src-4.4.16
/mySoft/php/bin/phpize

 
报错:Cannot find autoconf. Please check your autoconf installation

yum install -y autoconf

报错原因是因为没有安装 autoconf

 
安装 autoconf 之后再次执行 /mySoft/php/bin/phpize

/mySoft/php/bin/phpize

执行成功后,我们发现,已经多了一个 configure 文件了。

4、执行 ./configure

对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,如果满足,则会生成 makefile 文件,以供后续进行 make 和 make install

./configure

报错:

configure: error: C++ preprocessor "/lib/cpp" fails sanity check

yum install -y glibc-headers gcc-c++

再次执行 ./configure

出现下面这个界面,说明 检测配置及依赖通过,并已经生成 Makefile 文件

5、执行 make(编译)
make

出现下面这个界面,说明编译成功

6、执行 make install(安装)
make install

出现下面这个界面,说明 swoole 扩展安装成功

7、说明:

我们从上图里可以看到 PHP 的扩展其实是在 /mySoft/php/lib/php/extensions/no-debug-non-zts-20180731/ 目录下的

cd /mySoft/php/lib/php/extensions/no-debug-non-zts-20180731/
ls

我们可以看到,这个目录下有一个 swoole.so 的文件,其实这个就是我们通过 swoole源码,经过这一系列操作生成的 swoole扩展。

8、修改 php.ini,添加对 swoole 扩展的支持
vi /mySoft/php/lib/php.ini

注:可以通过命令 find / -name php.ini 找到你的 php.ini 文件位置

添加如下代码:

extension=swoole

如下图:

到现在,已经可以正常使用 swoole 了。

9、查看当前安装的 swoole 版本

因为目前swoole还在不断地迭代更新,并且每一个版本之间,未必能够完全兼容,这时,swoole的版本信息获取就很重要了。

php --ri swoole | grep Version