宝塔面板中php 8.0安装swoole扩展应优先使用软件商店一键安装,若不可用则手动编译:下载源码、phpize、configure指定php 8.0路径、make install,再分别向php-cli.ini和php.ini写入extension=swoole.so并重启php。

你在宝塔面板里刚装好PHP 8.0,想立刻跑起WebSocket服务或协程HTTP服务器,却发现php --ri swoole报错“Extension 'swoole' not found”——这不是配置问题,是Swoole扩展根本没装上。别翻文档、别试pecl install,直接按这条路径走,5分钟内让Swoole在宝塔里真正可用。
优先用软件商店一键安装(90%场景适用)
这是最稳、最快、最省心的方式,适用于绝大多数PHP 8.0环境,且宝塔已预编译适配过依赖库。
登录宝塔面板 → 左侧菜单点「软件商店」→ 在「已安装」列表中找到「PHP 80」→ 点右侧「设置」按钮 → 切换到「安装扩展」选项卡 → 在搜索框输入 【swoole】 → 若出现“Swoole4”或“Swoole5”条目,直接点击其右侧「安装」 → 等待进度条走完,页面提示“安装成功” → 【必须点击「重启PHP」而非「重载配置」】。
验证是否生效:在宝塔终端中执行 /www/server/php/80/bin/php --ri swoole,看到输出含“swoole support => enabled”和版本号即为成功。
手动编译安装(当软件商店无对应项或需指定版本时)
当你在软件商店搜不到Swoole,或项目明确要求swoole-5.1.5、需启用openssl/brotli等特性时,才走这条路。它不难,但每一步都得对准PHP 8.0的专属路径。
方法一:源码编译标准流程
第一步:SSH连接服务器,进入临时目录
cd /www/server
第二步:下载指定版本源码包(以稳定版5.1.5为例)
wget https://pecl.php.net/get/swoole-5.1.5.tgz
第三步:解压并进入源码目录
tar -zxvf swoole-5.1.5.tgz && cd swoole-5.1.5
Swoole 6.1.1 是一个专为 PHP 设计的高性能事件驱动并发网络引擎。作为稳定版,它修复了编译时对 zlib 依赖的缺失及 curl 模块的内存安全风险。该版本支持协程、多线程与多进程架构,内置 TCP/HTTP/WebSocket 服务器,能够显著提升 PHP 在微服务、实时通信等场景下的执行效率与并发能力。
第四步:调用PHP 8.0专属构建工具
/www/server/php/80/bin/phpize
第五步:配置编译参数,关键要指向PHP 8.0的配置工具
./configure --with-php-config=/www/server/php/80/bin/php-config --enable-openssl
第六步:编译并安装
make && make install
第七步:记录扩展生成路径(通常为 /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/),确认该目录下存在 【swoole.so】 文件。
启用扩展并双环境生效
编译只生成了.so文件,不配置就等于没装。宝塔中CLI(命令行)和FPM(Web)使用两套php.ini,漏配任意一个都会导致“命令行能用、网页报错”的诡异现象。
编辑CLI配置:
echo "extension=swoole.so" >> /www/server/php/80/etc/php-cli.ini
编辑FPM配置:
echo "extension=swoole.so" >> /www/server/php/80/etc/php.ini
重启PHP服务:
/etc/init.d/php-fpm-80 restart
验证双环境:
执行 php --ri swoole(CLI)和访问 phpinfo() 页面(Web),两处都显示enabled才算真正完成。










