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

Azure Linux WebApp上Laravel生产环境请求数据被截断,开发环境无此问题的排查求助

Azure Linux WebApp上Laravel生产环境请求数据被截断,开发环境无此问题的排查求助

各位大佬好,我遇到了一个非常诡异的问题,想请大家帮忙分析排查:

我在Azure上搭建了两个Linux环境的Web App,分别是开发(dev)和生产(prod)环境,两者的配置、环境变量等完全一致,后端都是基于Laravel 10开发的。

最近在前端向后端发送大表单请求时,发现生产环境的请求数据会被截断,但开发环境完全复现不了这个问题。具体情况如下:

  • 前端请求情况:我用AJAX发送请求,在发送前特意通过console.log打印了完整的请求数据,浏览器控制台显示的是完整的、没有问题的内容。AJAX代码如下:
console.log('order data: ' + JSON.stringify(newOrder));
console.log('url: ' + promiseUrl);

promise = $.ajax({
    _token: token,
    method: 'POST',
    type: 'POST',
    url: promiseUrl,
    data: newOrder,
    dataType: 'json'
})
  • 后端请求验证层:请求会先经过一个空的Laravel Form Request类,这个类里的授权逻辑直接返回true,没有做任何验证规则限制,代码如下:
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class UpdateOrderRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array<string, mixed>
     */
    public function rules()
    {
        return [
            //
        ];
    }
}
  • 控制器接收情况:在控制器的处理方法最开头,我就把请求的所有数据打印到了日志里,代码如下:
public function update(UpdateOrderRequest $request){

    $validated = $request->all();
    Log::channel('order')->info('Order data:');
    Log::channel('order')->info($validated);

}

但日志里的请求数据到大约42000个字符、1620行就被截断了;而在开发环境中,哪怕是30kB左右、48000个字符、1640行的数据都能完整接收,完全不会出现截断的情况。

我实在搞不明白两个环境到底哪里存在差异?按常理来说,IIS的请求数据上限是28MB,PHP哪怕是默认的2MB上限,处理25-30KB的数据也完全没有问题啊?我已经尝试修改了upload_max_filesize和max_post_size这两个PHP配置,但问题依然没有解决。

有没有大佬遇到过类似的问题,或者能给我一些排查方向?

备注:内容来源于stack exchange,提问作者Bartosz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 08:57:57