0

0

Swoole安装后测试怎么做_Swoole安装验证操作【汇总】

看不見的法師

看不見的法師

发布时间:2026-03-10 20:25:35

|

223人浏览过

|

来源于php中文网

原创

php -m 看不到 swoole 是因 cli 使用了系统默认 php 而非宝塔的 php 8.0;需用 /www/server/php/80/bin/php -m 验证,确认 cli 和 fpm 的 php.ini 均启用 extension=swoole.so 并重启服务。

swoole安装后测试怎么做_swoole安装验证操作【汇总】

php -m 看不到 swoole 扩展?先确认 CLI 用的是哪个 PHP 版本

宝塔面板里 PHP 8.0 装好了,但命令行运行 php -m 就是不显示 swoole,十有八九不是扩展没装,而是你当前终端跑的是系统默认的 PHP(比如 PHP 7.4),压根没走宝塔的 PHP 8.0。

  • 运行 which phpphp -v 看实际版本
  • 宝塔的 PHP CLI 路径通常是 /www/server/php/80/bin/php,直接用它执行:/www/server/php/80/bin/php -m | grep swoole
  • 如果输出了 swoole,说明扩展已装好;没输出,再查 /www/server/php/80/bin/php --ini 看加载的 php.ini 是哪个,确认里面写了 extension=swoole.so
  • 别只改 FPM 的 php.ini,CLI 和 FPM 是两套配置,都要检查

Class 'Swoole\Server' not found 错误怎么破

写了个 server.php,一运行就报这个错,核心原因只有两个:扩展没启用,或命名空间写错(尤其老教程混用 swoole_server)。

  • PHP 8.0 必须用完整命名空间:Swoole\ServerSwoole\WebSocket\Server,不能再用废弃的全局类名 swoole_server
  • 检查 /www/server/php/80/etc/php.ini(CLI 配置)和 /www/server/php/80/etc/php-fpm.d/www.conf(FPM 配置)是否都加了 extension=swoole.so
  • 改完配置必须重启服务:bt restart 或在宝塔面板点「重启 PHP」,光 reload 不生效
  • 验证是否加载成功:/www/server/php/80/bin/php -r "echo extension_loaded('swoole') ? 'yes' : 'no';" 输出 yes 才算过关

telnet 127.0.0.1 9501 没反应?端口监听可能被限制

脚本跑起来没报错,但 telnet 连不上,不代表代码错了,很可能是端口没真正监听,或被防火墙/SELinux 拦了。

X Detector
X Detector

最值得信赖的多语言 AI 内容检测器

下载
  • 先确认进程是否真在跑:ps aux | grep server.php,看到类似 /www/server/php/80/bin/php server.php 才算活的
  • 查端口监听:lsof -i :9501netstat -tlnp | grep :9501,没有输出说明 Swoole 根本没 bind 成功(常见于权限、端口占用、IP 绑定错误)
  • 绑定 0.0.0.0127.0.0.1 更稳妥,尤其在容器或某些虚拟网络环境下
  • 宝塔默认关了外网访问,测试时用 127.0.0.1 即可;若要从宿主机外访问,得在宝塔「安全」里放行端口,且确认服务器防火墙(firewalldufw)也开了

WebSocket 测试连不上?别跳过 on('Open') 的响应校验

写了个 ws_server.php,浏览器用 new WebSocket('ws://127.0.0.1:9502') 连,控制台报 failed: Error during WebSocket handshake,大概率是握手阶段就失败了。

  • Swoole WebSocket Server 默认不自动处理 HTTP Upgrade 请求,必须显式监听 on('Open') 事件,哪怕只写空函数:$ws->on('Open', function() {});
  • 确保客户端 URL 协议是 ws://(非 http://),端口与服务端一致,且服务端未限制 Origin(开发期可临时加 $ws->set(['websocket_compression' => false]); 排查)
  • 调试时加日志:$ws->on('Open', function($ws, $request) { var_dump($request->fd, $request->header); });,能看到连接进来才算握手成功
  • 别在浏览器直接输 ws://... 地址——这不合法,必须用 JS new WebSocket() 触发

最常卡住的地方不是编译或配置,而是 CLI/FPM 环境不一致、命名空间大小写、以及监听地址绑定到 127.0.0.1 后忘了 telnet 只能本地连——这些细节不手动验证一遍,光看“没报错”就以为成了。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
swoole为什么能常驻内存
swoole为什么能常驻内存

swoole常驻内存的特性:1. 事件驱动模型减少内存消耗;2. 协程并行执行任务占用更少内存;3. 协程池预分配协程消除创建开销;4. 静态变量保留状态减少内存分配;5. 共享内存跨协程共享数据降低内存开销。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

306

2024.04.10

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

492

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

377

2023.10.25

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

849

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

30

2025.12.06

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

530

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

576

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

759

2023.08.03

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

4

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
swoole进程树解析
swoole进程树解析

共4课时 | 0.2万人学习

Swoole系列-从0到1-新手进阶
Swoole系列-从0到1-新手进阶

共29课时 | 1.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号