从 0 开始编译安装 swoole 示例

官方文档:https://wiki.swoole.com/wiki/page/6.html

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

# 下载 release 版本 #
# 注意:在国内下载 github 的资源,有时候不稳定,可以用迅雷等下载工具在本机下载好,再通过 SFTP 传到服务器 #
cd /usr/local/src
wget https://github.com/swoole/swoole-src/archive/master.tar.gz

# 解压、进入目录 #
tar xzvf swoole-src-master.tar.gz
cd swoole-src-master

# 生成编译检测脚本、配置检查、编译安装 #
# phpize、php-config 请使用你自己的路径 #
/www/server/php/72/bin/phpize && \
./configure --with-php-config=/www/server/php/72/bin/php-config \
--enable-coroutine --enable-openssl  \
--enable-http2  \
--enable-async-redis \
--enable-sockets \
--enable-mysqlnd && \
make clean && make && sudo make install

精简默认安装

/www/server/php/72/bin/phpize && \
./configure --with-php-config=/www/server/php/72/bin/php-config && \
make clean && make && sudo make install

如果上述步骤顺利的话,就会有 Build complete 输出:

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/
Installing header files:          /www/server/php/72/include/php/

cd /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/ 就能找到 swoole.so 文件了

修改 php.ini 文件,将 swoole.so 加载进去

[swoole]
extension = /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/swoole.so

通过 php -m | grep swoole 来查看是否成功加载了swoole

相关错误

编译安装swoole报错 Enable http2 support, require nghttp2 library.

swoole安装异步redis –enable-async-redis出错 hiredis/hiredis.h: No such file or directory 解决方法

评论

  1. vultr vps
    vultr vps

    感谢分享

    回复