Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 504使用put文件方法在Laravel中出错_Php_Laravel - Fatal编程技术网

Php 504使用put文件方法在Laravel中出错

Php 504使用put文件方法在Laravel中出错,php,laravel,Php,Laravel,我上传了一个大文件(它是100mb)到S3,并得到一个504网关超时错误返回给我。令人困惑的是,该文件确实仍在上传,但在前端经过一段时间后,我得到了504错误?我正在对文件进行流式传输,所以我认为这样可以防止资源燃烧?当我上传一个较小的文件(6mb)时,我不明白这个问题 以下是完整的代码: 公共函数存储(请求$Request) { $request->validate([ “电子邮件”=>“必需”|电子邮件”, “视频”=>“必需”, ]); 如果($request->hasFile('vide

我上传了一个大文件(它是100mb)到S3,并得到一个504网关超时错误返回给我。令人困惑的是,该文件确实仍在上传,但在前端经过一段时间后,我得到了504错误?我正在对文件进行流式传输,所以我认为这样可以防止资源燃烧?当我上传一个较小的文件(6mb)时,我不明白这个问题

以下是完整的代码:

公共函数存储(请求$Request)
{
$request->validate([
“电子邮件”=>“必需”|电子邮件”,
“视频”=>“必需”,
]);
如果($request->hasFile('video')){
//上传原始文件
$original_key=存储::putFile(
“原件”,
新文件($request->File('video')),
['Content-Disposition'=>'attachment']
);
//转换文件以进行预览
$config=[
“预设ID”=>“1351620000001-100070”,
“宽度”=>1920,
“高度”=>1080,
“方面”=>“16:9”,
“ext'=>“mp4”,
'PipelineId'=>env('PIPELINE_ID'),
];
$elastcoder=新的ElastcoderAWS();
$original_数组=分解('/',$original_键);
$preview\u key=end($original\u数组);
$thumbPattern=“thumbnails/{$preview\u key}-{count}”;
$job=$elastcoder->transcodeVideo($original\u key、$preview\u key、$config、$thumbPattern);
$submission=新提交();
$submission->email=$request->input('email');
$submission->original=config('filesystems.disks.s3.url')。$original\u key;
$submission->preview=config('filesystems.disks.s3.url')。$preview\u key;
$submission->thumbnail=config('filesystems.disks.s3.url').“thumbnails/{$preview\u key}-00001.png”;
$submission->transcoding_id=$job[“id”];
$submission->save();
返回响应()->json([
“提交”=>$submission,
'消息'=>'视频上传。祝你好运!!!'
]);
}否则{
返回响应()->json([
“提交”=>错误,
'消息'=>'上载错误。请稍后再试。'
]);
}
}

在PHP配置中,通过更新
max\u execution\u time
或添加
set\u time\u limit(0)来更新最大执行时间
在您的问题之上,这种方法是否有缺陷,最好使用队列?我只是从来没有使用过队列,所以在这一点上它们似乎是一个障碍。这种方法没有问题,在您的开发环境中尝试一下,看看它是否有效。在您的PHP配置中,通过更新
max\u execution\u time
或添加
set\u time\u limit(0)来更新最大执行时间
在您的问题之上,这种方法是否有缺陷,最好使用队列?我从来没有使用过队列,所以在这一点上它们似乎是一个障碍。这种方法没有问题,在您的开发环境中尝试一下,看看它是否有效。