Php Laravel-上传文件错误“;PostTooLargeException“;

Php Laravel-上传文件错误“;PostTooLargeException“;,php,laravel,file-upload,mamp,Php,Laravel,File Upload,Mamp,我有一个表单可以上传两个文件。如果我上传小文件,效果很好,但如果我上传大文件,则会发出以下警告: 警告:第0行中的帖子内容长度31996010字节超过了未知的8388608字节的限制 我在upload\u max\u filesize和post\u max\u size中读到一些文章,告诉我如何更改php.in。我将两者都更改为200M,然后重新启动mamp 如果我转到phpinfo文件,我看到两个参数的值都是200M,所以它会改变这个值,但警告是持续的,不会上传文件 我上传的代码是: $cov

我有一个表单可以上传两个文件。如果我上传小文件,效果很好,但如果我上传大文件,则会发出以下警告:

警告:第0行中的帖子内容长度31996010字节超过了未知的8388608字节的限制

我在
upload\u max\u filesize
post\u max\u size
中读到一些文章,告诉我如何更改php.in。我将两者都更改为
200M
,然后重新启动mamp

如果我转到phpinfo文件,我看到两个参数的值都是200M,所以它会改变这个值,但警告是持续的,不会上传文件

我上传的代码是:

$coverName = uniqid($catalogue->companyId.'_C'.$catalogue->ref.'_');
    $fileName = uniqid($catalogue->companyId.'_P'.$catalogue->ref.'_');
    $coverExtension = $request->file('cover')->getClientOriginalExtension();
    $pdfExtension = $request->file('pdf')->getClientOriginalExtension();
    $destination = '/storage/app/public/uploads';

    $request->file('cover')->move($destination, $coverName.".".$coverExtension);
    $request->file('pdf')->move($destination, $fileName.".".$pdfExtension);
.htaccess文件:

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

RewriteEngine On

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

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

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

选项-多视图
重新启动发动机
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
#句柄授权头
RewriteCond%{HTTP:Authorization}。
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]

我是否需要更改laravel中的某些定义


谢谢

从错误中可以清楚地看出,最大尺寸仍然设置为
8M
。如果您的值在php.ini中确实正确,请仔细检查它们是否在其他地方被覆盖

您应该检查:

  • php.ini
  • .htaccess
  • 其他apache/nginx配置文件
如果找不到设置该值的位置,可以在系统中搜索
8M
,该文件可能会找到设置该值的文件

编辑:深入研究抛出的中间件并尝试在那里进行一些调试可能会很有用

我是否需要更改laravel中的某些定义


不,您可以看到中间件将
$request->server('CONTENT\u LENGTH')
ini\u get('post\u max\u size')

在php.ini中更改upload\u max\u文件大小和post\u max\u大小应该可以解决您的问题

确保您正在更改正确的PHP文件-如果运行
PHP-i
(这是在命令行环境中运行的一种方式),您将看到配置文件和加载的配置文件


确保您使用的是加载的配置文件,而不是另一个。

当我搜索8M时,会在php中显示这一点。在。。。内存限制=128M;脚本可能消耗的最大内存量(8MB)@jimwright您是否尝试运行
php-i
并为
加载的配置文件检查了正确的.ini文件(不仅仅是
配置文件
)工作正常!谢谢@Daniel很高兴能帮上忙。我已经添加了我的评论作为一个问题,希望能帮助其他人与同样的问题。请随意接受我的回答:)我面临着同样的问题。我尝试更改这两个设置的值,但仍然不起作用。尽管这些变化反映在
phpinfo()
中,但它们从未生效。因为,事实证明,当我打开
php.ini
文件进行编辑时(使用
wampserver
上下文菜单),它是从
apache
目录打开的,而不是从
php
目录打开的。