1、更新一下源
yum update
2、 安装pecl(默认安装 php7.2 没有pecl,如果已经安装可忽略)
yum install php72w-devel
yum install php72w-pear
3、安装 swoole
pecl install 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 服务,则需要启用此项。 // 我的 Mac 是本地开发用,所以不启用。 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
-------------------出现下面的提示,很高兴的告诉你,你成功了-------------------------------
Installing '/usr/lib64/php/modules/swoole.so'
Installing '/usr/include/php/ext/swoole/config.h'
install ok: channel://pecl.php.net/swoole-4.3.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=swoole.so" to php.ini
4、 修改配置
vi /etc/php.ini 中加入
extension=swoole.so
5、重启
service php-fpm restart
service httpd restart
6、查看
php -m 或者 phpinfo() 查看是否有swoole
备注(安装过程中有可能会出现下面错误)
1、问题:PHP Startup: Unable to load dynamic library 'swoole.so' (tried: /usr/lib64/php/modules/swoole.so (/usr/lib64/php/modules/swoole.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/swoole.so.so (/usr/lib64/php/modules/swoole.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
解决方法:把3.1补充说明内的全部扩展全部安装一遍
2、问题,如果使用php -m
或者 phpinfo()
查看不到swoole
解决方法:(确定安装和配置都没有问题)
1、如果使用两种方法都无法查看swoole
,那么请执行第五步重启
2、如果使用php -m
无法查看swoole
,请使用命令service php-fpm restart
重启
3、如果使用phpinfo()
无法查看swoole
,请使用命令service httpd restart
重启
3、 问题 C++ preprocessor “/lib/cpp” fails sanity check
解决方法:没有c++库
yum install glibc-headers yum install gcc gcc-c++ gcc-g77
4、问题:fatal error: openssl/ssl.h: No such file or directory
解决方法:没有
openssl/ssl
此类文件或目录yum install openssl-devel
5、问题:error “Enable http2 support, require nghttp2 library.
解决方法:
wget https://github.com/nghttp2/nghttp2/releases/download/v1.34.0/nghttp2-1.34.0.tar.bz2 tar -xjf nghttp2-1.34.0.tar.bz2
6、问题PHP Warning: Module 'swoole' already loaded in Unknown on line 0
解决方法:
在修改配置时extension=swoole.so
别放在最后,最好放在extension=sockets.so
后面,