必须安装Swoole扩展以启用PHP高性能异步能力,可通过宝塔面板图形化安装、源码编译或PECL工具三种方式实现,并需验证加载与运行。

如果您在宝塔面板环境中部署 PHP 应用并需要启用高性能异步能力,则必须安装 Swoole 扩展。以下是多种可行的安装与运行方法:
一、通过宝塔面板内置PHP扩展管理器安装
宝塔面板为常用 PHP 版本提供了图形化扩展安装界面,Swoole 已被集成至部分 PHP 版本的扩展列表中,适用于 PHP 7.2 及以上版本(具体取决于宝塔版本与 PHP 构建配置)。
1、登录宝塔面板,进入【软件商店】→【已安装】→ 找到对应 PHP 版本(如 PHP-7.4),点击【设置】。
2、切换至【安装扩展】选项卡,在扩展列表中查找 swoole,若存在则直接点击【安装】按钮。
3、等待安装完成,面板将自动重启 PHP-FPM 服务。
4、在终端执行 /www/server/php/74/bin/php -m | grep swoole(路径中的 74 需替换为实际 PHP 版本代号),确认输出包含 swoole。
二、通过源码编译方式手动安装
当面板内置扩展未提供目标 PHP 版本的 Swoole 或需自定义编译参数(如启用 openssl、http2、sockets 等)时,需手动下载源码并编译安装。
1、进入宝塔终端或 SSH 连接服务器,切换至 PHP 源码扩展目录:cd /www/server/php。
2、下载对应 PHP 版本兼容的 Swoole 源码包,例如安装 Swoole 4.8.13:wget https://github.com/swoole/swoole-src/archive/refs/tags/v4.8.13.tar.gz。
3、解压并进入源码目录:tar -zxvf v4.8.13.tar.gz && cd swoole-src-4.8.13。
4、使用对应 PHP 的 phpize 工具生成配置文件,例如 PHP-7.4 对应路径为:/www/server/php/74/bin/phpize。
5、执行 configure 命令,指定 PHP-config 路径及所需特性:./configure --with-php-config=/www/server/php/74/bin/php-config --enable-openssl --enable-http2。
6、编译并安装:make && make install。
7、编辑 PHP 配置文件:vi /www/server/php/74/etc/php.ini,在末尾新增一行:extension=swoole.so。
8、重启 PHP 服务:bt restart php74(或通过面板操作)。
三、使用 PECL 工具在线安装
PECL 是 PHP 官方扩展仓库,适用于已配置好 pear/pecl 环境的宝塔 PHP 实例,无需手动下载源码即可完成安装与更新。
1、确认 pecl 命令可用,执行:/www/server/php/74/bin/pecl version,检查是否返回版本信息。
2、升级 pecl 渠道并清除缓存:/www/server/php/74/bin/pecl channel-update pecl.php.net。
3、执行安装命令,指定 PHP 版本路径:/www/server/php/74/bin/pecl install swoole。
4、安装过程中若提示选择编译选项(如 enable sockets、openssl 等),按需输入 yes 或回车接受默认值。
5、安装成功后,PECL 会自动输出扩展所在路径(如 /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/swoole.so)。
6、手动添加扩展配置行至 php.ini:echo "extension=swoole.so" >> /www/server/php/74/etc/php.ini。
7、重启 PHP 服务使配置生效。
四、验证 Swoole 是否正确加载并运行
安装完成后需验证扩展是否被 PHP 正确识别,并可通过简单脚本测试基础运行能力。
1、创建测试文件:echo " /www/wwwroot/test-swoole.php。
2、在浏览器中访问该文件 URL,应返回 bool(true)。
3、创建异步 HTTP 服务测试脚本:echo "on('request', function (\$request, \$response) { \$response->end('Hello from Swoole!'); }); \$server->start();" > /www/wwwroot/swoole-test.php。
4、在终端中执行:/www/server/php/74/bin/php /www/wwwroot/swoole-test.php,保持进程运行。
5、另开终端执行:curl http://127.0.0.1:9501,预期返回 Hello from Swoole!。










