php 安装swoole

本文详细记录了在CentOS7.3环境下,针对PHP5.6版本进行Swoole扩展安装的过程,涵盖依赖库安装、编译参数调整及常见错误解决策略,如libhiredis.so.0.13、httpd2支持、libphpx.so缺失等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

swoole 安装避坑指南

swoole简介:
PHP的协程高性能网络通信引擎,使用C/C++语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端/客户端。
1、 根据对应的php版本下载相应的swoole扩展
2、 安装相关依赖
3、 本次安装采用编译安装
4、 环境:php版本5.6 centos7.3
坑1: “Starting php-fpm: [28-Apr-2017 14:40:12] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/modules/swoole.so’ - libhiredis.so.0.13: cannot open shared object file: No such file or directory in Unknown on line 0” ---------- 最后在swoole的wiki评论中找到了解决方案: 就是在指定编译参数的时候带上redis库的路径 ./configure --enable-async-redis=/usr/local 即可 .
坑1.4: “Enable http2 support, require nghttp2 library” 支持htppd2 协议 故先下载httpd2 的包 --------wget https://github.com/nghttp2/nghttp2/releases/download/v1.30.0/nghttp2-1.30.0.tar.bz2 tar -jxvf nghttp2-1.30.0.tar.bz2 cd nghttp2-1.30.0 ./configure make && make install.
坑2、 “libphpx.so: cannot open shared object file: No such file or directory” - 检查系统lib目录中是否存在libphpx.so,包括/lib、/usr/lib、/usr/local/lib等位置 检查/usr/local/lib目录是否加入了ld.so.conf中,位置在/etc/ld.so.conf或者/etc/ld.so.conf.d/* 执行sudo ldconfig.
坑3 “Unable to load dynamic library ‘/usr/lib64/php/modules/swoole.so’ - /usr/lib64/php/modules/swoole.so: undefined symbol: php_sockets_le_socket in Unknown on line 0” ----- swoole.so 这个扩展依赖 sockets.so 这个扩展 所以先在/etc/php.ini 文件中 加入 extension = websocks.so 放在 swoole.so 前面*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值