webman 实际可用插件仅几个:tpext-myadmin(零sql crud)、saiadmin(完整插件骨架)、webman-search(es统一抽象)、webman-admin(运维级后台),均需手动 dump-autoload 且配置易出错。

Webman 没有“官方插件市场”,但真正能落地进项目、第二天就敢上线的插件,其实就那么几个——选错一个,轻则路径报 404,重则 CSRF 失效或 autoload 找不到类。
tpext-myadmin:零 SQL CRUD 最省心的选择
它不是生成一堆文件然后扔给你自己改,而是用 buildTable() 和 buildForm() 把增删改查逻辑全收进 PHP 方法里,连上传缩略图、Ajax 切换状态都封装好了。
-
$table->image('avatar', '头像')->thumbSize(50,50)自动处理上传、裁剪、存路径,不用写move_uploaded_file -
$form->switchBtn('status', '状态')->autoPost()点击即发请求,控制器里连update()都不用写 - 字段链式调用如
->default(1)->required()必须写在同一行末尾,断行会直接导致 PHP 解析失败 - 表单提交没反应?先看控制台是否报
CSRF token mismatch:确认config/app.php中'csrf' => true,且模板里写了@csrf
SaiAdmin:适合需要完整插件骨架的团队项目
它不只生成 CRUD 页面,而是用 sai:plugin 命令一键拉起带路由、菜单、控制器、模型、视图的完整插件结构,适合中大型业务模块隔离开发。
Webman 2.2.0版本强化了 TCP/UDP 服务支持,优化路由组管理,并增强异步任务处理能力。结合协程与连接池技术,Webman 能轻松应对高并发场景,适用于网站、接口服务、即时通讯、物联网及游戏开发,兼具高性能、灵活扩展与稳定可靠,是多场景 PHP 服务开发的理想选择。
- 执行
php webman sai:plugin usercenter后,检查plugin/usercenter/config/menu.php中'href' => '/app/usercenter/index'是否和控制器路由完全一致,否则点菜单直接 404 - 生成后访问空白或 Class not found?大概率是
vendor/autoload.php没重载,立刻跑composer dump-autoload - 插件配置是否生效?用
config('plugin.usercenter.app')在代码里测一下,返回 null 就说明 Webman 没合并进去 - 权限默认不开启,菜单能看见、点进去 403 —— 得手动在 SaiAdmin 后台分配角色权限
webman-search:Elasticsearch 集成最稳的抽象层
别自己硬啃官方客户端。这个插件屏蔽了 Elasticsearch / MeiliSearch / Xunsearch 的差异,统一用一套 API 写搜索逻辑,升级换引擎也不用改业务代码。
- 安装后必须跑
php webman vendor:publish shopwwi/webman-search,否则config/plugin/shopwwi/search/app.php根本不会出现 - 中文搜不到?不是代码问题,是 mapping 没配 IK 分词器:
'title' => ['type' => 'text', 'analyzer' => 'ik_smart']这种必须显式写进索引定义 - ES 8.x 启用 HTTPS 时,
setSSLVerification(false)只能用于本地调试,生产环境必须传 CA 路径,否则连接直接被拒 - 索引不能等第一次搜索再建——启动时(比如
app/Bootstrap.php)就该调用php webman search:create:index初始化
webman-admin:运维级后台管理,不是 UI 框架
它不帮你画表格、写表单,而是提供实时日志、在线命令执行、worker 进程启停这些真正在生产环境卡脖子的功能。
- 日志查看延迟高?确认
config/plugin/webman-admin/app.php中'log_path'指向的是 Webman 实际写的日志目录(默认是runtime/log) - 在线执行命令报错 “command not allowed”?这是安全策略,默认只放行
php、ls、cat等白名单命令,要加自定义命令得改allowed_commands配置项 - 多服务器部署时,它不自动同步节点状态——每个实例独立运行,需配合 Prometheus + Grafana 做全局监控
所有插件最常被忽略的一点:它们都不自动 reload 类加载。哪怕你改了控制器、加了新模型,也得手动 composer dump-autoload,否则 Webman 启动时根本看不到新类。










