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

Laravel 7升级至10后日志存大量HTML及Session报错求助

问题解决方案

1. Session store not set on request(购物车包会话错误)

  • 确认购物车包兼容性:michaelbelgium/shoppingcart需适配Laravel 10版本,先查看composer.json里的包版本是否支持Laravel 10。若版本过旧,执行composer require michaelbelgium/shoppingcart:^6.0(具体版本以包官方兼容说明为准)更新到兼容版本。
  • 校验会话中间件配置:Laravel 10中StartSession中间件必须在会话操作前执行。确保购物车相关路由应用了web中间件组(默认包含StartSession),不要将这类路由放在api中间件组下(api组默认不启用会话)。
  • 避免提前调用会话:如果在路由闭包、控制器构造函数里直接调用购物车方法,会因会话未初始化触发错误。把购物车操作移到控制器的业务方法中,或在构造函数里添加$this->middleware('web')确保会话中间件优先运行。

2. 日志写入大量HTML导致文件暴涨

  • 排查隐藏的dump输出:
    • 检查所有Blade视图,尤其是plantilla_tienda.blade.php布局文件,确认是否存在@dump()或@dd()指令。
    • 检查自定义中间件、服务提供者,看是否在请求/响应处理流程中调用了dump()方法。
    • 暂时禁用非必要第三方包,排查是否有调试类包自动添加dump输出。
  • 调整日志格式化规则:Laravel 10默认日志格式可能会记录错误页面的HTML内容。修改config/logging.php,自定义错误日志格式,仅记录核心错误信息与堆栈跟踪:
    'channels' => [
        'stack' => [
            'driver' => 'stack',
            'channels' => ['single'],
            'formatter' => Monolog\Formatter\LineFormatter::class,
            'formatter_with' => [
                'format' => "%datetime% %level_name%: %message% %context% %extra%\n",
            ],
        ],
        // 其他通道配置...
    ]
    
  • 修复404错误根源:日志中的HTML源于storage/productos_imagenes/marcas/.jpg这个无效URL触发的NotFoundHttpException,错误页面的dump内容被连带记录。找到项目中生成该URL的代码(大概率是视图里图片路径拼接时品牌名称为空),修复URL生成逻辑,避免触发无效请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 10:14:57