laravel8中路由访问时间过长POST请求会被重定向为GET的问题有没有人遇到过的,谢谢解答。

这是一个简单的上传代码#

    /**
     * 图片文件上传
     */
    public function images(): JsonResponse
    {
        sleep(45);
        $ext = request()->file('file')->extension();
        $size = request()->file('file')->getSize();
        $realPath = request()->file('file')->store('public/images');
        $viewPath = 'storage/' . substr($realPath, 7);
        $file = $this->uploadService->saveFile($ext, $size, 
            $realPath, $viewPath, FileEnum::IMAGE);
        return $this->success($file);
    }

上面我设置睡眠 45 秒后将会报一个问题,就是下面图片的错误

laravel8中路由访问时间过长会被重定向的问题有没有人遇到过的,谢谢解答。

下面这段代码是能正常访问的

    /**
     * 图片文件上传
     */
    public function images(): JsonResponse
    {
        $ext = request()->file('file')->extension();
        $size = request()->file('file')->getSize();
        $realPath = request()->file('file')->store('public/images');
        $viewPath = 'storage/' . substr($realPath, 7);
        $file = $this->uploadService->saveFile($ext, $size, $realPath, $viewPath, FileEnum::IMAGE);
        return $this->success($file);
    }

请问大家有遇到这个问题吗?如果涉及大文件上传的时候会有比较长的请求的时候会经常发生这个问题。非常感谢~

贴一下路由代码,环境是 Apache,php7.3,所以没找到具体问题在哪


Route::prefix('upload')->middleware('auth:api')->group(function () {
    Route::post('images', [UploadController::class, 'images']);
});

原因找到了,很久没使用 apache 了,httpd.conf 缺少下面的配置,加上就可以了

<IfModule mod_fcgid.c>
 FcgidProcessLifeTime 8200
 FcgidIOTimeout 8200
 FcgidConnectTimeout 4000
</IfModule>
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

应该是 php 配置原因,和 laravel 没关系,具体问题还没找到。 :pensive:

是 Apache 的原因,有哪位大哥知道怎么配置 Apache 超时重定向时间吗,目前 niginx 不会出现以上问题。

3年前 评论