必须源码编译Swoole 5.1.3并启用--enable-coroutine、--enable-http2、--enable-openssl等选项;确认PHP≥8.1、安装php-devel等依赖;在正确php.ini中添加extension=swoole.so,重启后用php -m和php --ri swoole验证。

在 CentOS 中快速编译 Swoole 扩展以运行 Hyperf,核心是确保 PHP 环境干净、依赖齐全、Swoole 版本与 Hyperf 兼容,并跳过常见坑点。Hyperf 官方推荐使用 Swoole 4.8+(建议 5.0+),且需启用协程、异步 Redis、HTTP2 等关键特性。
确认 PHP 版本和开发环境
Hyperf 要求 PHP ≥ 8.0(推荐 8.1/8.2),且必须安装 php-devel、gcc、make、autoconf、openssl-devel、curl-devel 等编译依赖:
- 运行
yum groupinstall "Development Tools" - 安装
yum install php-devel openssl-devel curl-devel pcre2-devel libxml2-devel - 确认
php -v输出为 8.1 或 8.2;若为系统默认 PHP(如 7.4),建议用 Remi 仓库 升级:yum install epel-release && yum install https://www.php.cn/link/b53cbe6da81db747a73e52a5a48d2703enterprise/remi-release-8.rpm && yum module enable php:remi-8.2
下载并编译 Swoole 5.x(推荐)
避免用 pecl install(版本旧、选项受限),直接源码编译可精确控制功能开关:
- 下载最新稳定版:
wget https://github.com/swoole/swoole-src/archive/refs/tags/v5.1.3.tar.gz && tar -xzf v5.1.3.tar.gz && cd swoole-src-5.1.3 - 配置启用关键模块:
phpize && ./configure --enable-coroutine --enable-http2 --enable-openssl --enable-swoole-json --enable-swoole-curl - 编译安装:
make -j$(nproc) && make install - 检查生成的
swoole.so路径(通常为/usr/lib64/php/modules/或/opt/remi/php82/root/usr/lib64/php/modules/)
启用扩展并验证
编辑 php.ini(可用 php --ini 查找位置),添加:
extension=swoole.so<br>zend_extension=opcache.so # Hyperf 强烈建议开启 OPcache
重启 Web 服务或 CLI 环境后执行:
-
php -m | grep swoole—— 应输出swoole -
php --ri swoole—— 检查Version、epoll、http2、openssl均为enabled -
php -r "echo SwooleVERSION . "\n";"—— 确认版本 ≥ 5.0.0
初始化 Hyperf 项目并启动
确保 Composer 可用(推荐 2.5+),然后:
composer create-project hyperf/hyperf-skeleton myappcd myapp && composer install-
php bin/hyperf.php start—— 若看到Server started和监听地址(如http://0.0.0.0:9501),即成功 - 访问
curl http://127.0.0.1:9501应返回默认欢迎页
若提示 Swoole extension not loaded,检查 php.ini 路径是否正确、swoole.so 文件是否存在、SELinux 是否阻止加载(临时禁用测试:setenforce 0)。


















