上传小于1GB文件触发POST Content-Length超限警告,求助排查
解决POST Content-Length超出限制的问题
这个问题我太熟啦!你遇到的是PHP默认的上传大小限制在搞鬼~错误提示里的8388608 bytes就是8MB,而你要传的文件大概36MB,远远超过了这个默认值,所以触发了警告。你需要调整PHP的几个核心配置参数,具体如下:
upload_max_filesize:控制单个上传文件的最大允许大小。你要支持1GB以内的文件,就把这个值设为1024M或者1G(比如upload_max_filesize = 1024M)。post_max_size:这个参数限制整个POST请求的总大小,必须比upload_max_filesize大一点(因为POST请求里除了文件,可能还有其他表单数据),可以设为1025M或者1.1G(比如post_max_size = 1025M)。memory_limit:确保PHP有足够内存处理大文件上传,建议设置成比上传文件大小更大的值,比如2048M(memory_limit = 2048M)。
修改配置的步骤:
- 先找到你的
php.ini文件位置:创建一个简单的PHP文件,内容是<?php phpinfo(); ?>,上传到服务器后访问它,在页面里找到Loaded Configuration File这一项,后面就是php.ini的路径。 - 打开php.ini文件,找到上面三个参数,修改对应的值,保存文件。
- 重启你的Web服务器(比如Apache、Nginx,或者PHP-FPM,如果用的是这个的话),这样新的配置才会生效。
- 再次访问那个phpinfo页面,确认这三个参数已经变成你设置的值。
如果是在共享主机环境里,自己没法修改php.ini的话,可以试试创建一个.user.ini文件放在网站根目录,把上面的配置写进去(部分主机支持这种方式);要是还不行,就只能联系主机服务商帮忙调整啦。
内容的提问来源于stack exchange,提问作者Nana
相关产品推荐
相关产品推荐

