问题现象

切换 PHP 版本后站点能开,但 debug.log 每分钟增长几兆,全是弃用提示。

原因分析

主题或插件使用了新版移除的动态属性与旧函数,警告量超过了可读范围,日志很快被同类信息淹没,真正的问题反而看不见。判断时先分清是 PHP 8.2 弃用警告 本身的配置问题,还是上游调用、运行环境带进来的差异;前者改配置就能收口,后者要沿着请求链路一层层往上找,处理顺序不能颠倒。先在出问题的机器上复现一次,把报错原文和发生时间记下来,再对着日志定位。

处理步骤

  1. 开启日志并按文件聚合
  2. 锁定报错最多的组件
  3. 升级或替换该组件

对应的命令或配置片段如下,可直接复制:

grep -o 'in /[^ ]*' wp-content/debug.log | sort | uniq -c | sort -rn | head

排查时把每一步的输出留下来,后面再遇到同类问题,对照日志就能判断是哪一层先出错的。改动前把原配置备份一份,出问题时能马上回退,比现场找原因省时间。

验证结果

日志增长回到正常水平,页面无弃用提示。

作者 9823189