2011-06-08 129 views
77

我得到了我在PHP error_log中类似的错误,当用户上传自己的文件POST内容长度超过限制

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

在我的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) 
+4

你确定你正在编辑的正确的php.ini? – 2011-06-08 14:01:05

+0

你是否正在编辑正确的php.ini(有几个)?是否有其他的东西重置设置? (例如任何对'php_ini_set'的调用?) – Piskvor 2011-06-08 14:01:46

+0

我在public_html – daza166 2011-06-08 14:02:42

回答

83

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

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

+0

确保您在.ini文件中进行更改后重新启动服务器。 – Sandhu 2016-02-03 08:39:01

+0

如果您正在使用nginx + php fpm,请务必重新启动php守护进程'sudo service php5-fpm restart' – Gourneau 2016-03-16 03:58:52

+0

重新启动对我来说确实如此。 +1谢谢;) – Refilon 2016-03-28 11:01:11

38

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

27

你只是在php.ini中

然后设置设置:

upload_max_filesize = 1000M; 
post_max_size = 1000M; 

然后重新启动XAMPP .. 检查图像

+0

你的解决方案适用于我! THanks – 2017-11-01 07:48:56

5

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

max_execution_time=30 

我把它

max_execution_time=600000 

然后我很高兴。

+4

通常你可能不想在php.ini中这样做,因为它可以让所有php进程运行这段时间。您可以使用set_time_limit()将其设置为单个文件,例如set_time_limit(600000) – billrichards 2015-07-15 20:16:05

7

的post_max_size应该比的upload_max_filesize稍微大一点,因为使用HTTP POST方法的文本还包括与文件大小和名称等标题上传时

如果你想成功uppload 1GiB文件,你必须设置:

upload_max_filesize = 1024M 
post_max_size = 1025M 

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

无需设置memory_limit

11

尝试粘贴到.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

有可能不仅仅是一个的php.ini文件更多。例如,使用WAMP当有2个的php.ini文件在以下目录:

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

您需要编辑的第一个。

2

如果您正在使用WAMP使用PHP 5.6.X版本的Windows中,然后文件位置可以是,

C:\Windows\php.ini

post_max_size = 100M; 

尝试阿帕奇做修改的地方尝试一。通过您的Wamp/XAMP加载.ini文件

3

我不同意,但是如果用户发送的文件大于服务器允许的文件大小,则在php.ini或.htaccess, 中增加文件大小的此解决方案将不起作用应用。 我建议在前端进行验证。例如:

$(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(''); 
 
     } 
 
    }); 
 
});

+0

不同意什么? – Rob 2017-06-30 02:28:29

相关问题