POST Content-Length超出限制

时间:2011-06-08 13:59:15

标签: php

当用户上传文件时,我在php的error_log中遇到类似的错误

  

PHP警告:POST内容长度11933650字节超过第0行未知的8388608字节限制

在我的php.ini(在public_html中创建自定义ini文件)这会解决这个问题,我需要将它设置为1GB左右?我将在php.ini中将我的设置更改为此,它会解决问题吗?

upload_max_filesize = 1000M ;1GB
post_max_size = 1000M

我将'memory_limit'限制为什么?

在我的脚本中检查文件上传大小是否为< 1GB

也是正确的
if($_FILES["uploadedfile"]["size"]<1000000)

9 个答案:

答案 0 :(得分:93)

8388608字节是8M,PHP中的默认限制。对php.ini的这些更改确实可以解决问题(确保在制作之后重新启动Apache服务器)。

此处不需要更改内存限制。

答案 1 :(得分:43)

我建议您在post_max_size文件中将php.ini从8M更改为32M。

答案 2 :(得分:34)

你只需设置php.ini

然后设置:

upload_max_filesize = 1000M;
post_max_size = 1000M;

然后重启你的xampp .. 检查图像

答案 3 :(得分:14)

尝试将其粘贴到.htaccess,它应该可以正常工作。

php_value post_max_size 2000M
php_value upload_max_filesize 2500M
php_value max_execution_time 6000000
php_value max_input_time 6000000
php_value memory_limit 2500M

答案 4 :(得分:10)

post_max_size 应略大于 upload_max_filesize ,因为在使用HTTP POST方法上传时,文本还包含文件大小和名称等的标题。

如果要成功卸载1GiB文件,则必须设置:

upload_max_filesize = 1024M
post_max_size = 1025M

注意,GB的正确后缀是G,即upload_max_filesize = 1G。

无需设置 memory_limit

答案 5 :(得分:6)

在某些情况下,您需要增加最长执行时间。

max_execution_time=30

我做到了

max_execution_time=600000
然后我很高兴。

答案 6 :(得分:5)

可能不仅仅有一个 php.ini 文件。例如,使用WAMP时,以下目录中有2个 php.ini 文件:

  • C:\wamp\bin\apache\apache2.4.9\bin
  • C:\wamp\bin\php\php5.5.12

您需要编辑第一个。

答案 7 :(得分:4)

我不同意,但这个解决方案是增加php.ini或.htaccess中的文件大小, 如果用户发送的文件大于服务器应用程序中允许的文件,则无效。 我建议在前端验证这一点。例如:

&#13;
&#13;
$(document).ready(function() {
    $ ('#your_input_file_id').bind('change', function() {
        var fileSize = this.files[0].size/1024/1024;
        if (fileSize > 2) { // 2M
            alert('Your custom message for max file size exceeded');
            $('#your_input_file_id').val('');
        }
    });
});
&#13;
&#13;
&#13;

答案 8 :(得分:2)

如果您在使用Wamp的Windows中使用Php 5.6.X版本,则文件位置可能在,

C:\Windows\php.ini

试试

post_max_size = 100M;

尝试在Apache中进行更改。通过你的Wamp / XAMP加载.ini文件