我正在尝试在我的网站上传软件安装文件(.exe)。当我尝试上传5 mb或10 mb的文件时,我没有收到任何错误。但是在尝试上传大文件时,大小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)
答案 0 :(得分:1)
默认php.ini memory_limit是128 MB。你应该:
您应该参考此answer。我建议您监控应用程序,看看是否存在潜在的内存泄漏并优化代码。
标准文件上传需要记住的一个关键事项是服务器需要处理文件,提示它占用大量内存的原因。
希望这可以帮助您走上正确的道路。
答案 1 :(得分:1)
在php.ini中增加'memory_limit'