应优先通过宝塔软件商店安装Swoole扩展;若商店无对应版本,再手动编译,且需严格匹配PHP路径、配置php.ini双文件、启用--enable-openssl和--enable-http2参数,并验证swoole.so实际存在。
宝塔面板下 PHP 8.0 安装 Swoole 扩展,**能用软件商店就别手动编译**;只有商店没选项、或你明确需要
swoole
-5.1.5 这类新版,才必须走源码编译——否则极易因路径错、参数漏、配置漏导致
报错找不到模块。
怎么判断该不该编译?先查软件商店有没有对应项
别一上来就开终端。先登录宝塔面板 →「软件商店」→ 找到你正在用的 PHP 版本(比如
)→ 点「设置」→ 切换到「安装扩展」标签页 → 搜索
。
如果列表里有
或
,直接点安装,然后点「重启 PHP」(不是重载)
如果搜不到,说明当前面板版本未上架该 PHP 子版本的预编译包,必须编译
执行
确认路径数字是
,别误操作到
或
源码编译时
php
ize 和 php-config 路径必须严格匹配
路径写错一个字符,
就会把
装进错误目录,后续加
也白搭。
第一步永远是:
(数字
必须和你实际 PHP 版本一致)
时,
参数值必须是完整路径:
,不能简写成
,也不能漏掉
编译成功后,终端会输出类似:
——这个路径要记下来,后面配
时要用
为什么 php --ri swoole 报错“not found”?两个 php.ini 都得改
失败,90% 是因为只改了 FPM 的配置,忘了 CLI 的配置,或者反过来。宝塔中它们是两套独立配置:
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
立即学习
“
PHP免费学习笔记(深入)
”;
FPM 加载的是:
CLI 加载的是:
两个文件末尾都必须添加:
加完后必须「重启 PHP」服务(宝塔面板点「重启」,不是「重载」);CLI 不需重启,但可用
单独验证
configure 必须加 --enable-openssl 和 --enable-http2
不加这两个参数,
、WebSocket over HTTPS、gRPC 等关键功能会直接失效,运行时报
或连接被拒绝。
正确命令示例:
CentOS/RHEL 系统提前装:
;Ubuntu/Debian 装:
,否则
会被 configure 静默跳过
如果启用了 opcache,重启前建议清空它,避免旧缓存干扰新扩展加载
最易忽略的一点:编译生成的
文件名没错,路径也对,两个
都加了
,但
仍报错——这时请立刻检查
下那个时间戳子目录里,是否真有
文件。有时候
权限不足,文件根本没写进去。
php --ri swoolePHP 80swooleSwoole4Swoole5/www/server/php/80/bin/php -v807481make installswoole.soextension=swoole.so/www/server/php/80/bin/phpize80./configure--with-php-config/www/server/php/80/bin/php-configphp-config-8.0/bin/Installing shared extensions: /www/server/php/80/lib/php/extensions/no-debug-non-zts-20200930/extensionphp --ri swoole/www/server/php/80/etc/php.ini/www/server/php/80/bin/php.iniextension=swoole.so/www/server/php/80/bin/php --ri swooleSwoole\Http\ServerCall to undefined function swoole_http_server()./configure --with-php-config=/www/server/php/80/bin/php-config --enable-openssl --enable-http2openssl-devellibssl-dev--enable-opensslswoole.sophp.iniextensionphp --ri swoole/www/server/php/80/lib/php/extensions/swoole.somake install