当前位置:首页 > PHP教程 > php应用 > 列表

PHP Webman开发常用命令汇总_快速提高项目开发效率

发布:smiling 来源: PHP粉丝网  添加日期:2026-06-21 18:55:48 浏览: 评论:0 

Webman命令需按场景精准使用:start(前台调试)、start -d(后台运行)、stop(优雅停止)、restart(配置变更后全量重启)、reload(仅重载业务代码);reload不生效时须检查OPcache或动态加载逻辑。

Webman 的命令不是靠 php start.php 一把梭就能覆盖全部场景的——很多操作不执行对的命令,轻则配置不生效,重则进程异常退出、日志错乱、甚至服务假死。

启动、停止、重启:别只记 start

webman 的生命周期管理命令必须按场景区分,不能无脑 php start.php start 了事:

php start.php start:前台运行(调试时用),终端关闭即服务终止;加 -d 可启用调试模式(自动加载 monitor 进程)

php start.php start -d:开发环境推荐,文件变更自动 reload,但仅限 Linux/macOS;Windows 需改用 php windows.php

php start.php stop:优雅停止,等待当前请求完成再退出;若卡住,可补 kill -9 对应 master 进程 PID

php start.php restart:先 stop 再 start,适用于修改了 config/server.php 或新增了 composer 包

php start.php reload:仅重载业务代码(如控制器、中间件、路由),不重启进程;正式环境改完 config/route.php 后必须用它,否则路由不更新

注意:reload 不会重新加载 server.php 或 app.php,这类配置改了就得 restart。

start.php 报错常见原因与对应命令

看到 WORKER EXIT UNEXPECTED 或 PHP Fatal error 不要直接重试,先查根本原因:

错误信息含 exit / die:业务代码里写了 exit 或 die —— webman 是常驻内存模型,禁止使用,会强制杀掉 worker 进程

报 Class not found:composer 自动加载未更新,执行 composer dump-autoload,再 php start.php restart

启动后访问 404:确认 config/route.php 已写入路由,并且用了 Route::get() 等正确方法;检查是否漏了 ->middleware() 导致被拦截

日志里反复出现 Connection refused:可能是 Redis/MySQL 服务没起来,或 config/database.php 配置错误,此时 php start.php start 会失败但不报具体错,得看 runtime/log/ 下的 error 日志

开发期高频辅助命令:别总手动翻日志

调试阶段光靠浏览器和 var_dump 效率极低,这些命令能快速定位问题:

php start.php status:查看当前 worker 进程数、运行时间、连接数,判断是否真在跑

tail -f runtime/log/error.log:实时盯错误日志(Linux/macOS);Windows 可用 type runtime\log\error.log 或编辑器打开

php start.php connections:列出当前所有 TCP 连接(调试长连接、WebSocket 场景必备)

php start.php clean:清空 runtime/cache 和 runtime/log,避免旧缓存干扰新逻辑

特别提醒:var_dump 和 echo 在调试模式下输出到终端而非页面,别在浏览器里等回显;想打到页面请用 response()->json() 或模板 <?php echo ... ?>。

正式环境部署必须绕开的坑

上线后最怕“本地好好的,线上挂了”,关键就卡在几个命令行为差异上:

正式环境禁用 -d 参数:monitor 进程不会启动,reload 失效;改代码后必须 php start.php reload(如果开了 reload 支持)或 restart

php start.php start 在 systemd 或 supervisor 下要用 --daemon 模式,否则进程会前台阻塞;推荐用 php start.php start -d + supervisor 管理

修改 config/app.php 中的 'debug' => false 后,必须 restart,因为 debug 开关影响 opcode 缓存策略

升级 webman 版本后,别只 composer update,还要运行 php start.php restart —— 新版可能引入新的进程初始化逻辑

最易忽略的一点:webman 的 reload 不等于 PHP-FPM 的平滑重启,它只是重新 require 业务文件;如果中间件里有静态变量或全局状态,reload 后不会重置——这种设计是为了性能,但也意味着你得自己保证无状态。

Tags: PHP Webman Webman常用命令

分享到: