2011-06-08 101 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

相關問題