CentOS 下 PHP 安装 Swoole 的支持

php tytrock ⋅ 于 2019-10-23 16:55:44 ⋅ 2414 阅读

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

出现下面的提示,很高兴的告诉你,你成功了

image.png



4、 修改配置

vi /etc/php.ini 中加入

extension=swoole.so


5、重启PHP

systemctl restart php-fpm


6、查看PHP是否已加载swoole

php -m #查看是否含有swoole

或者使用phpinfo()查看

image.png


备注(安装过程中有可能会出现下面错误)

1、问题:

image.png

解决方法:

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

回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter