我的问题从未解决,无法在laravel框架中上传大于2M的文件

时间:2019-09-17 08:07:47

标签: php laravel laravel-5.8

我的项目使用laravel framework v5.8,我需要上传视频 上传完成后,它给了我Illuminate\Http\Exceptions\PostTooLargeException 而当我禁用此功能时:

if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
     throw new PostTooLargeException;
}

validatePostSize.php中的代码,它给了我:

  

错误警告:16195196字节的POST内容长度超过了第0行上“未知”中的8388608字节的限制

没有文件上传

php.ini设置:

upload_max_filesize=2000M
max_file_uploads=2000M
memory_limit=128M
post_max_size=800M

然后我在xampp phoInfo()中检查了它们

我怎么解决这个问题。

htaccess代码:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    php_value post_max_size=200M
    php_value upload_max_filesize=200M
</IfModule>

2 个答案:

答案 0 :(得分:1)

我通过在公共目录中创建php.ini文件并重新启动apache并重新运行PHP artisan serve命令来解决此问题

新的php.ini代码:

[PHP]
upload_max_filesize=2000M
max_file_uploads=2000M
memory_limit=128M
post_max_size=800M

答案 1 :(得分:0)

此错误消息表示您尝试上传的文件大于您的虚拟主机允许的大小(默认文件上传大小为2 MB)

解决方案很简单,需要增加文件大小的上传限制。

首先,停止 XAMPP / Wamp ,然后转到 xampp \ php \ php.ini 文件,在php.ini文件并将其替换为数字

upload_max_filesize = 64M

保存更改,然后重新启动您的XAMPP / Wamp,此外,刷新您的网站,然后尝试重新上传文件。您现在将获得成功。