php 8.3/8.4 必须使用 swoole 5.1.x(如 5.1.5),因 4.x 不支持、5.0+ 要求 php ≥ 8.0;需分别配置 cli 和 fpm 的 php.ini 启用 extension=swoole,并确保编译时启用 --enable-openssl 和 --enable-http2,最后用 php --ri swoole 验证协程是否真正启用。

确认当前激活的 PHP 版本和配置路径
多版本共存时,php -v 显示的只是 CLI 默认版本,不代表 FPM 或其他 SAPI 实际用的版本。真正关键的是 php-config --version ——它输出编译该 PHP 二进制时绑定的主版本号,比 php -v 更可靠。你必须先切到目标版本,再查路径:
- 用
phpenv use 8.3(phpenv)或bt php 83(宝塔)切换到你要装扩展的版本 - 执行
php --ini | grep "Loaded Configuration File"查 CLI 加载的php.ini - 对 FPM:宝塔下是
/www/server/php/83/etc/php.ini,phpenv 下是~/.phpenv/versions/8.3.0/etc/php.ini
两个 php.ini 必须分别编辑,缺一不可。
Linux/macOS 下用 pecl 安装需匹配 php-config
pecl install swoole 看似一键,但实际依赖当前 shell 环境中 php-config 的路径。如果没切版本就直接运行,很可能装到旧版 PHP 的扩展目录里。
- 先确认
which php-config输出是否指向目标版本(如/www/server/php/83/bin/php-config) - 若不匹配,临时设置:
export PATH="/www/server/php/83/bin:$PATH"再运行pecl install swoole - 安装成功后,检查
/etc/php/8.3/cli/conf.d/20-swoole.ini是否存在;FPM 的 conf.d 目录通常要手动补上同一行extension=swoole.so
注意:PECL 在 PHP 8.3+ 上默认装 swoole-5.1.x,但如果你 pecl install swoole-4.8.13,会静默失败——Swoole 4.x 不支持 PHP 8.3。
Windows phpEnv 必须手动匹配 DLL 文件
phpEnv 没有 pecl 或 phpize,所有扩展都靠预编译 DLL。错一个参数就会报“找不到指定模块”。
- 运行
php -v和php -i | findstr "Thread Safety",确认版本(如 8.2)、TS/NTS、VC 编译器(如 VC17)、架构(x64) - 去 https://www.php.cn/link/948d25d346008436180931cd87fb5cf1 下载对应 ZIP,例如
swoole-5.1.5-php-8.2-nts-vc17-x64.zip - DLL 必须放进
C:\phpenv\php\php-8.2.12-nts\ext\(路径以phpenv which php输出为准) - 两个
php.ini(CLI 和 Web)都要加extension=php_swoole.dll,不是swoole,也不是带引号的"php_swoole.dll"
源码编译时 configure 参数不能漏
哪怕版本全对,漏掉 --enable-openssl 或 --enable-http2,Swoole HTTP/WebSocket 服务也会在运行时静默失败,日志只显示 Connection reset by peer,根本看不出是编译问题。
- 先装系统依赖:
sudo apt install libssl-dev(Ubuntu)或sudo dnf install openssl-devel(CentOS/RHEL) - 进入源码目录后,必须用目标 PHP 的
phpize:如/www/server/php/83/bin/phpize -
./configure命令必须带全路径:--with-php-config=/www/server/php/83/bin/php-config --enable-openssl --enable-http2 - 编译完看输出的 extension 路径,确保
php.ini中extension_dir指向它,否则extension=swoole.so会加载失败
最易被忽略的是:FPM 配置改完后必须重启服务,而不仅仅是 reload;CLI 和 FPM 的 php.ini 是两套独立文件,改错一个就等于白干。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











