You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel执行Validator::make时抛出Connection Reset连接重置错误如何解决

问题原因

  • 核心原因是使用了Laravel不存在的double验证规则:Laravel 内置验证规则集中没有double规则,该写法属于将数据库字段类型和验证规则混淆的错误。底层解析不存在的验证规则时会触发未捕获的异常,严重时直接导致PHP进程崩溃,Web服务器随即返回Connection Reset错误。
  • 调试时出现方法重复执行的现象,大概率是引用的HasValidationRules Trait中存在递归调用、死循环逻辑,或者本地开启的Xdebug扩展与异常捕获逻辑冲突,导致进程异常重启。

解决方案

  1. 替换所有验证规则中的double为合法的数值验证规则:
    如果仅要求参数为数值,使用numeric即可;如果需要限定小数位数,可使用decimal:位数规则,修改后的代码示例如下:
public static array $createValidationRules = [
    'valid_from' => 'required|date',
    'valid_until' => 'required|date',
    'institute' => 'required|string',
    'iban' => 'required',
    'sum_employer' => 'required|numeric',
    'sum_employee' => 'required|numeric',
];

public static array $updateValidationRules = [
    'valid_from' => 'date',
    'valid_until' => 'date',
    'institute' => 'string',
    'sum_employer' => 'numeric',
    'sum_employee' => 'numeric',
];
  1. 排查HasValidationRules Trait的getCreateValidationRules()方法逻辑,确认没有递归调用、循环查询等会导致代码无限执行的问题。
  2. 若修改后仍出现异常,临时关闭本地Xdebug扩展再测试,部分旧版本Xdebug会和Laravel底层异常处理逻辑冲突,导致进程异常终止。

内容的提问来源于stack exchange,提问作者Elias。

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:00:04