Illuminate \ Http \ Exceptions \ PostTooLargeException

时间:2018-02-03 19:31:47

标签: php laravel laravel-5

我已经配置了php.ini文件(post_max_size = 10240M),但它仍然在抛出PostTooLargeException。如何在Laravel 5.5中增加上传和下载限制?

4 个答案:

答案 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

将这两个字段更新为足够大的值。例如1024M2048M

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