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常用命令
- 上一篇:PHP错误日志:通过日志快速定位PHP版本兼容性报错
- 下一篇:最后一页
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·php页面漏洞分析及相关问题解决(2013-11-13)
- ·当在连接PHP时,抱怨一些数值没有定义参考?(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)
