我已经配置了php.ini文件(post_max_size = 10240M),但它仍然在抛出PostTooLargeException。如何在Laravel 5.5中增加上传和下载限制?
答案 0 :(得分:5)
首先,检查您的php版本
php --version
PHP 7.2.7-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Jun 22 2018 08:44:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.7-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
如果您的php版本是7.2
打开此文件/etc/php/7.2/fpm/php.ini
将这两个字段更新为足够大的值。例如1024M
或2048M
post_max_size = 1024M
upload_max_filesize = 1024M
重新启动php
service php7.2-fpm restart
完成✅
答案 1 :(得分:2)
您可以在php.ini
文件中尝试以下代码以增加内存限制。
ini_set('memory_limit','10240M');
# Do your Intervention operations...
您可能还有兴趣阅读https://laracasts.com/discuss/channels/servers/interventionimage-memory-limit?page=1
答案 2 :(得分:2)
首先,检查您的PHP版本。
php -v
下面的命令将打印服务器正在使用的php.ini文件的路径。
php -i | grep php.ini
下一步。
sudo nano /etc/php/7.4/cli/php.ini
默认情况下, post_max_size , upload_max_filesize 和 memory_limit 的值分别为 8M ,分别为2M 和 128M 。
搜索这些变量并更改其值,同时确保大小遵循与默认值相同的比率。
请参见以下示例:
post_max_size = 2G
upload_max_filesize = 1G
memory_limit = 3G
对于“重载站点”,安装并运行FPM很有用。
sudo apt install php7.4-fpm -y
sudo service php7.4-fpm start
最后,重新启动您的Web服务器。
sudo service apache2 restart
答案 3 :(得分:0)
1)如果您从php.ini更改post_max_size并重新启动apache 服务器,但是在没有得到正确的响应之后,便有了临时解决方案。
处理
illuminate-http-exceptions-posttoolargeexception
异常
public function render($request, Exception $exception)
{
if ($exception instanceof \Illuminate\Http\Exceptions\PostTooLargeException) {
return redirect()->back()->withErrors(['File size is too large']);
}
return parent::render($request, $exception);
}
并在您的视图文件中显示错误
@if ($errors->any())
@foreach ($errors->all() as $error)
<div class="alert alert-danger">{{ $error }}</div>
@endforeach
@endif