适用场景
- PHP 小版本升级后首页异常
- 发布窗口内快速判断是否回滚
- 复盘时补全排查手册
PROMPT
【计划】 1. 把排查拆成现象、日志、依赖、代码四层,层名与顺序固定,不在中途新增层级。 2. 每层写清看哪个文件、跑哪条命令、日志路径在哪,三项缺一不可。 3. 开头先定止损线:12 分钟内找不到根因就整站回滚,避免边查边改污染线上现场。 4. 每层的进入条件单独写一行,前一层没结论不得跳到下一层,跳层要先记录原因。 【执行】 1. 先确认首页是 500 还是纯空白,每步都给出命令、预期输出与停留时间,三项一起写进计划。 2. 再翻 php-fpm 错误日志末 200 行,按时间倒序定位 fatal 出现的文件与行号。 3. 接着核对扩展清单与 composer.lock 版本,查扩展限 3 分钟,超时就记为未知并继续往下走。 4. 最后在预发临时打开 display_errors 复现问题,复现完立即关闭,不在线上开启该开关。 5. 看到日志出现新 fatal 就停下记录文件与行号,不顺手改业务代码,把现场留给回滚判断。 【回改计划】 1. 若卡在扩展缺失,把余下步骤改成安装扩展并重跑健康检查,同时记下缺失的扩展名。 2. 若卡在语法不兼容,先回滚单个文件,再补兼容层装回,两步分开执行并各自验证。 3. 超过 12 分钟止损线就整体回滚,不继续在线上试错,也不边回滚边改配置。 4. 回滚后把新线索补进排查手册,下次升级前用预发环境按同一路径演练一遍。