1、更新一下源
yum update
2、 安装pecl(默认安装 php7.2 没有pecl,如果已经安装可忽略)
yum install php72w-devel yum install php72w-pear
3、安装 swoole
pecl install swoole
卸载可使用pecl uninstall swoole
3.1补充: 关于 Swoole 安装配置选项:(特别注意:如果有些扩展没安装,yes之后后面会报错)
// 是否启用 Debug 跟踪调试 // 启用后,会在命令行中输出 Debug 跟踪 log,我一般禁用此项。 enable debug/trace log support? [no] : no // 是否启用 PHP Sockets 支持 // 如果你需要用 PHP 编写 Sockets 服务,可以启用此项。 enable sockets supports? [no] : yes // 是否启用 OpenSSL 支持 // 是否启用 SSL 加密,如果你是通过 Swoole 提供对外的 HTTPS 服务,则需要启用此项。 // 如果启用此项,系统需要安装OpenSSL开发包,使用yum install openssl-devel安装。 enable openssl support? [no] : no // 是否启用 HTTP2 支持 // 了解 HTTP2 新特性 https://zh.wikipedia.org/wiki/HTTP/2 enable http2 support? [no] : yes // 是否启用异步 Redis 支持 // Swoole 实现了一套支持异步的 Redis 服务端框架 // https://wiki.swoole.com/wiki/page/p-redis_server.html enable async-redis support? [no] : yes // 是否启用 MySQL 原生支持 enable mysqlnd support? [no] : yes // 是否启用 PgSQL 协程客户端支持 enable postgresql coroutine client support? [no] : yes
出现下面的提示,很高兴的告诉你,你成功了
4、 修改配置
vi /etc/php.ini 中加入
extension=swoole.so
5、重启PHP
systemctl restart php-fpm
6、查看PHP是否已加载swoole
php -m #查看是否含有swoole
或者使用phpinfo()查看
备注(安装过程中有可能会出现下面错误)
1、问题:
解决方法:
1)、把3.1补充说明内的全部扩展全部安装一遍
2)、swoole.so扩展加载顺序问题,3.1里的扩展必须在swoole.so扩展前加载,例如我是将extension=swoole.so放到了/etc/php.d/sockets.ini的extension=sockets.so后面就没有报错了
2、编译时如果出现报错configure: error: C++ preprocessor "/lib/cpp" fails sanity check
解决办法
yum install gcc-c++
参考文章:https://www.jianshu.com/p/fa2cbf1a9e26