Laravel 上传大文件时出错

Laravel getting error while uploading large file

我正在尝试在我的 site.When 中上传软件安装文件 (.exe) 我正在尝试上传 5 MB 或 10 MB 的文件,我在尝试时没有得到任何 error.But上传大文件,大小为 45/50mb,我收到此错误

(1/1) FatalThrowableError

Call to a member function getClientOriginalExtension() on null

我把我的 php.ini 改成了这样:

upload_max_filesize = 900M

这是我的文件上传表单

<form action="/upload" method="post" enctype="multipart/form-data">
    {{ csrf_field() }}
    Product name:
    <br />
    <input type="text" name="name" />
    <br /><br />
    Files :
    <br />
    <input type="file" name="pdf" multiple />
    <br /><br />
    <input type="submit" value="Upload" />
</form>

这是我的控制器:

public function google(Request $request){

            $file = $request->file('pdf');
            $destinationPath = 'uploads';
            $file->move($destinationPath,$file->getClientOriginalName());

}

更新:

我增加了 post_max_size 大于 upload_max_filesize。但是现在出现这个错误

(1/1) FatalErrorException
Allowed memory size of 134217728 bytes exhausted (tried to allocate 62973720 bytes)
in MediaFileUpload.php (line 246)

默认 php.ini memory_limit 为 128 MB。您应该:

  • 优化您的代码以使用正常数量的数据
  • 将 php.ini 中的 memory_limit 更改为更高的值,我不这样做 完全推荐 - 用你的方法你会撞到这堵墙一次 再次

你应该参考这个。我建议您监控您的应用程序,看看是否存在潜在的内存泄漏并优化您的代码。

对于标准文件上传,您需要记住的关键事项之一是您的服务器需要处理该文件,提示它占用大量内存的原因。

希望这能帮助您走上正确的道路。

在php.ini增加'memory_limit'