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'
我正在尝试在我的 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'